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

本文关键字:然后 替换 正则表达式 查找 封装 | 更新日期: 2023-09-27 18:09:19

我有一些字符串,我想替换其中出现的括号

这是我到目前为止所做的。

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";

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

你为什么不这样做,而不是使用正则表达式?

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

这个呢

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

您可以像下面这样使用Regex的Replace方法。

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

希望这有帮助!!

通过使用我在原始帖子中建议的解决方案来解决这个问题,循环遍历字符串几次,直到我没有找到匹配。