0

文中の単語を検索したい

単語は、WORD、単語、単語、単語などに一致します...

だから、これは私が書いたものです:

string pattern = "[wWoOrRdD]";
Regex r = new Regex(pattern);
string input = "aa WORD aa WorD";
r.Replace(input, "word");

しかし、コードはこれを生成します:

aa wordwordwordword aa wordwordwordword

私が実際に欲しいのは

aa word aa word

エラーを修正するには?アドバイスをありがとう。

4

3 に答える 3

2

オプションを使用する必要がありIgonorecaseます..

だから、それは

Regex.Replace(input,@"\bword\b","word",RegexOptions.IgnoreCase);

\bは、単一の単語に一致することを可能にしますが、次のような別の単語内の単語には一致させない境界ですaawordaa

于 2013-01-19T05:52:34.560 に答える
1

[wWoOrRdD][wWoOrRdD]+は、1 つまたは複数の文字に一致する 1 つの文字にのみ一致します。

正規表現の大文字と小文字を区別しないようにすることができます(?ix) [word]+

また、文字列を小文字にすることが目標の場合は、次のtoLower()ような方法を使用できます

input = input.toLower()

于 2013-01-19T05:53:32.800 に答える
1

この正規表現パターンは、すべての単一文字 (w/W/o/O/r/R/d/D) に一致します。大文字と小文字を区別しない一致を使用することをお勧めします。

Regex regex = new Regex("\bword\b", RegexOptions.IgnoreCase);
string input = "aa Word, aa WoRD";
string output = regex.Replace(input, "word");

正規表現についての詳細情報

于 2013-01-19T05:56:49.580 に答える