如何在字符串中查找括号内的单词并将其替换为新数据

时间:2013-05-07 15:10:16

标签: c#

我有一些像这样的字符串:

  

这是[string,10],我想用[anotherstring,10]

替换它

我想找到 [string,10] [anotherstring,10] 并将其替换为新数据。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

以下是regex replace示例,使用MatchEvaluator执行与结果相关的复杂操作:

Regex.Replace(
"this is some [string,10] and i want to replace it with [anotherstring,10]",
@"\[(.*?),(\d+)\]",
m => "[was " + m.Groups[1].ToString() + "::" + int.Parse(m.Groups[2].ToString()) + "]")

它分别捕获字符串和数字,因此您可以单独使用它们。如果您只需要它,10,则可以执行@"\[(.*?),10\]"模式。或者,如果您希望其中的任何字符被视为一个值,@"\[(.*?)\]"如图所示,它会导致:

  

这是一些[是string :: 10],我想用[是   anotherstring :: 10]