我Regex.Replace
在 C# 中遇到问题,因为它似乎没有替换所有匹配模式的出现。
private string ReplaceBBCode(string inStr)
{
var outStr = Regex.Replace(inStr, @"\[(b|i|u)\](.*?)\[/\1\]", @"<$1>$2</$1>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
outStr = Regex.Replace(outStr, "(\r|\n)+", "<br />");
return outStr;
}
输入字符串:
[b]Saint Paul's Food Kitchen[/b] [b] [/b]Saint Paul's food kitchen opens weekly to provide food to those in need.
结果:
<b>Saint Paul's Food Kitchen</b> [b] [/b]Saint Paul's food kitchen opens weekly to provide food to those in need.
我已经对此进行了测试regexhero.net
,它的工作原理与它应该在那里完全一样。
编辑:
对不起,复制了错误的函数版本。它现在显示正确的代码,对我来说行为不正确。