我在c#代码中遇到以下问题。
class Program
{
static void Main(string[] args)
{
string line="have a nice day with nice(songs)";
string pattern=@"\bnice\b";
string replaced_line=Regex.Replace(line, pattern, "Good", RegexOptions.IgnoreCase);
}
}
输出 - :祝你好(歌曲)好日子
以上输出没问题。但下面的代码没有替换
class Program
{
static void Main(string[] args)
{
string line="have a nice day with nice(songs)";
string to_replace="nice";
string replaced_line=Regex.Replace(line, @"\b"+to_replace+"\b", "Good", RegexOptions.IgnoreCase);
}
}
输出 - :与美好的(歌曲)度过美好的一天
它没有取代
任何人都可以帮助我。
答案 0 :(得分:0)
此行错误
string replaced_line=Regex.Replace(line, @"\b"+to_replace+"\b", "Good", RegexOptions.IgnoreCase);
你只逃脱了一次,但你必须在每个字符串中都这样做。所以应该是
string replaced_line=Regex.Replace(line, @"\b"+to_replace+@"\b", "Good", RegexOptions.IgnoreCase);
(添加@)
希望它有效
答案 1 :(得分:0)
string to_replace= @"\bnice\b";
是正确的,它不等于string to_replace= @"\b"+to_replace+@"\b"