0

別のリストを使用してアイテムのリストをスクラブしようとしていますが、大文字と小文字を区別しない場合を除いて、正常に機能しています。順序または正規表現のケーシングチェックを追加しようとすると、構文エラーが発生します。誰かが私が間違っていることを教えてもらえますか?これが私のコードです:

List<string> removeChars = new List<string>(textBox_ScrubList.Text.Split(','));
            for (int i = 0; i < sortBox1.Count; i++)
                foreach (string repl in removeChars)
                    sortBox1[i] = sortBox1[i].Replace(repl, "", RegexOptions.IgnoreCase);

そして、これが私が得ている構文エラーです:

正規表現ケーシング構文エラー

4

2 に答える 2

2

sortBox1List<string>または類似していると仮定すると、問題は、String.Replaceをとる過負荷がないことRegexOptionsです。

を使用することもできますが、その場合は、単一の正規表現をRegex.Replace作成して、一度にすべての文字を削除できるはずです。一度に1つずつ削除する場合は、正規表現パターンが問題にならないようにするために使用することをお勧めします。(たとえば、「。」を「」に置き換えようとすると、すべてが削除されてしまいます。)Regex.Escape

于 2013-01-27T08:35:40.920 に答える
0

だから私はそれを理解しました。最後の行:

 sortBox1[i] = sortBox1[i].Replace(repl, "", RegexOptions.IgnoreCase);

次のように変更する必要がありました:

 sortBox1[i] = Regex.Replace(sortBox1[i], repl, "", RegexOptions.IgnoreCase);
于 2013-01-30T14:12:40.720 に答える