1

正規表現を使用して、文字列 (または Stringbuilder) の特定のキーワードを選択したキーワードに置き換えています。ただし、単語全体のみを置き換える有効な正規表現パターンを作成できません。

たとえば、InputString = "fox foxy" があり、"fox" を "dog" に置き換えたい場合、出力は "dog dogy" になります。

「フォックス」のみを取り、「フォクシー」のままにする有効な正規表現パターンは何ですか?

 public string Replace(string KeywordToReplace, string Replacement) /
        {

            this.Replacement = Replacement;
            this.KeywordToReplace = KeywordToReplace;

            Regex RegExHelper = new Regex(KeywordToReplace, RegexOptions.IgnoreCase);

            string Output = RegExHelper.Replace(InputString, Replacement);

            return Output;
        }

ありがとう!

4

3 に答える 3

6

正規表現は、単語の境界を表す特別なエスケープシーケンスをサポートしています。単語文字はすべてです[a-zA-Z0-9]。したがって、単語の境界は、このグループに属するすべての文字とそうでない文字の間にあります。エスケープシーケンスは\b次のとおりです。

\bfox\b
于 2012-10-03T15:00:21.580 に答える
0

境界を使用する必要があります..

KeywordToReplace="\byourWord\b"
于 2012-10-03T15:04:46.890 に答える