C# 简单正则表达式替换以保留原始字符串

C# 简单正则表达式替换以保留原始字符串,c#,asp.net,regex,string,replace,C#,Asp.net,Regex,String,Replace,我有这个: Title = Regex.Replace(Title, s, "<span style=\"background:yellow\">" + s + "</span>", RegexOptions.IgnoreCase); 我想: How to make a <span style="background:yellow">Facebook</span> game 如何制作Facebook游戏 即使搜索词是“facebook”(注意

我有这个:

Title = Regex.Replace(Title, s, "<span style=\"background:yellow\">" + s + "</span>", RegexOptions.IgnoreCase);
我想:

How to make a <span style="background:yellow">Facebook</span> game
如何制作Facebook游戏
即使搜索词是“facebook”(注意资本化)。基本上,我如何保留单词的原始大写字母

另一个例子是,搜索词
FACEBOOK
,字符串
Hello FACEBOOK
变成
Hello FACEBOOK


这将只查找单词边界上的字符串。

您只需包含一个与单词“facebook”匹配的捕获组,并将该捕获组作为替换字符串的一部分。这将最终包括在最终结果中,与输入中显示的完全相同

var title = "How to make a Facebook game";
title = Regex.Replace(title,
                      "(facebook)",
                      "<span style=\"background:yellow\">$1</span>",
                      RegexOptions.IgnoreCase);
var title=“如何制作Facebook游戏”;
title=Regex.Replace(title,
“(脸谱网)”,
"$1",
RegexOptions.IgnoreCase);

您可以使用
$&
进行以下操作:

Regex.Replace(Title, s, "<span style=\"background:yellow\">$&</span>", RegexOptions.IgnoreCase)
Regex.Replace(标题,s,“$&”,RegexOptions.IgnoreCase)
searchFor = @"\b" + searchFor + @"\b";
var title = "How to make a Facebook game";
title = Regex.Replace(title,
                      "(facebook)",
                      "<span style=\"background:yellow\">$1</span>",
                      RegexOptions.IgnoreCase);
Regex.Replace(Title, s, "<span style=\"background:yellow\">$&</span>", RegexOptions.IgnoreCase)