使用正则表达式查找[]中封装的项目,然后替换它们

时间:2011-09-21 14:31:29

标签: c# regex

所以我有一些字符串,我想在其中替换一些括号。

现在这就是我到目前为止所做的。它的工作原理

string answerText = "This is an [example] string";
Match match = Regex.Match(answerText, @"\[(.*?)\]");

if(match.Success)
{
    if(match.Value.Equals("[example]"))
    {
        answerText = answerText.Replace(match.Value, "awsome");
    }
}

我想弄清楚的是如果答案文本看起来像这样的话,如何实现这个目标

string answerText = "This is an [example1] [example2] [example3] string";

4 个答案:

答案 0 :(得分:3)

你有没有理由不这样做而不是使用正则表达式?

string answerText = "This is an [example] string";
answerText.Replace("[example]", "awsome");

答案 1 :(得分:1)

这个怎么样?

string answerText = "This is an [example1] [example2] [example3] string";
string pattern = @"\[(.*?)\]";
answerText = Regex.Replace(answerText, pattern, "awesome");

答案 2 :(得分:0)

您可以使用Regex的Replace方法,如下所示。

     Regex.Replace(inputString, "\\[" + matchValue + "\\]", "ReplaceText", RegexOptions.IgnoreCase);

希望这会有所帮助!!

答案 3 :(得分:0)

通过使用我在原始帖子中建议的解决方案解决了这个问题几次,直到我没有匹配为止。