1

文字、数字、一部の特殊文字を除くすべての文字を空白に置き換えようとしています。これは私が使用しているコード行です:

documentText = Regex.Replace(documentText, @"^((?![a-zA-Z0-9%\-\@\$&']).*)$", " ");

うまくいきません。次のようなサンプル テキストでテストしました。

[]\^|+*(){} ~#%=/<>-!@$&_'",.?;:
this should stay

そしてそれはすべてを取り除きます。

4

2 に答える 2

3

次の正規表現を使用します。

[^a-zA-Z0-9%\-@$&']

使用^すると文字クラスが反転します。これは、否定的な先読みを使用せずに探しているものに最適です。

于 2012-10-25T18:57:34.170 に答える
1

.* を検索しています。これは、0 個以上の任意の文字を意味します。そのため、すべてが削除されます。

于 2012-10-25T19:01:14.507 に答える