查找/替换字符串的麻烦

时间:2018-10-02 17:53:41

标签: c# string replace find

我在查找/替换字符串中的值时遇到了一些麻烦。不知道我应该在RegEx还是C#中进行操作,它具有一些漂亮的功能。正则表达式让我头疼。

问题:

<doc name="tester" value="p1,p2,p3" />

所以我想要“值”(p1,p2,p3),并将其替换为当前值+“,p4”。

有任何帮助。

1 个答案:

答案 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;