C# 分析和替换字符串中的内容
本文关键字:字符串 替换 | 更新日期: 2023-09-27 18:35:42
这是我第一次尝试使用正则表达式。
我想存档的是转换这个字符串:
" <Control1 x:Uid="1" />
<Control2 x:Uid="2" /> "
自
" <Control1 {1} />
<Control2 {2} /> "
基本上,将 x:Uid="n" 转换为 {n},其中 n 表示一个整数。
我认为它会起作用(当然不是)是这样的:
string input = " <Control1 x:Uid="1" />
<Control2 x:Uid="2" /> ";
string pattern = "'b[x:Uid='"['d]'"]'w+";
string replacement = "{}";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
或
Regex.Replace(input, pattern, delegate(Match match)
{
// do something here
return result
});
我正在努力定义模式和替换字符串。我不确定我是否在解决问题的正确方向上。
方括号定义字符类,此处不需要该字符类。相反,您希望使用捕获组:
string pattern = @"'bx:Uid=""('d)""";
string replacement = "{$1}";
请注意使用逐字字符串来确保将'b
解释为单词边界锚点而不是退格符。