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

以下は、正規表現を使用して探しているもののほとんどです。唯一の考慮事項は、最初の文字の大文字と小文字を区別することです。そのため、途中に大文字がある場合、それは維持されないように見えます。

C シャープで大文字と小文字を変えずにテキストを置き換える

于 2013-08-20T11:36:15.293 に答える