0

所以我在忽略大小写的情况下替换字符串中单词的所有实例:

        public static String ReplaceAll(String Input, String Word)
    {
        string Pattern = string.Format(@"\b{0}\b", Word);
        Regex rgx = new Regex(Pattern, RegexOptions.IgnoreCase);            
        StringBuilder sb = new StringBuilder();
        sb.Append(rgx.Replace(Input, string.Format("<span class='highlight'>{0}</span>", Word)));
        return sb.ToString();             
    }

我还需要替换以保持找到的单词大小写,所以如果我正在寻找'this'并且RegEx找到'This'它将把找到的单词替换为'This'而不是'this',我已经完成了这是以前的,但那是几年前的事了,在 javascript 中,再次解决它时遇到了一些麻烦。

4

2 回答 2

3
public static string ReplaceAll(string source, string word)
{
    string pattern = @"\b" + Regex.Escape(word) + @"\b";
    var rx = new Regex(pattern, RegexOptions.IgnoreCase);
    return rx.Replace(source, "<span class='highlight'>$0</span>");
}
于 2013-08-20T11:38:45.693 回答
0

以下内容几乎包含您使用 Regex 寻找的内容。唯一的考虑是它保留了第一个字符的大小写,所以如果你在中间有一个大写字母,它看起来不会保留它。

在 C Sharp 中保持大小写完整的同时替换文本

于 2013-08-20T11:36:15.293 回答