我在查找/替换字符串中的值时遇到了一些麻烦。不知道我应该在RegEx还是C#中进行操作,它具有一些漂亮的功能。正则表达式让我头疼。
问题:
<doc name="tester" value="p1,p2,p3" />
所以我想要“值”(p1,p2,p3),并将其替换为当前值+“,p4”。
有任何帮助。
答案 0 :(得分:1)
尽管让Regex头疼,但是使用以下正则表达式实际上非常简单:
@"(?<=value=\"")[^""]+"
首先返回“ value="
”,然后匹配所有字符,直到结尾的双精度quote
。
string test = @"<doc name=""tester"" value=""p1,p2,p3"" />";
Regex regex = new Regex(@"(?<=value=\"")[^""]+");
string result = regex.Replace(test, "p1,p2,p3,p4");
// result will be: @"<doc name=""tester"" value=""p1,p2,p3,p4"" />";
修改: 当然,您只需调用以下命令即可捕获原始内容:
string match = regex.Match(test).Value;