3

コンマ、ダッシュ、一重引用符を除くすべての英数字以外の文字を削除しようとしています。文字列からすべての非単語を削除する方法を知っています

myString.replace(/\W/g,'');

, -しかし、とを除いてどうすればいい'ですか?私は試した

myString.replace(/\W+[^,]/g,'');

演算子を使用して否定する方法を知っているので ^、正規表現の組み合わせに問題があります。

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

10

\wはの逆で\Wあるため、次を使用できます。/[^\w,'-]/

編集:アンダースコアも望ましくない場合:/[^\w,'-]|_/

于 2013-02-07T22:21:05.770 に答える
9

次の文字クラスは、文字、数字、コンマ、ダッシュ、および単一引用符のクラスに属する単一の文字に一致します。

[-,'A-Za-z0-9]

以下は、それらのいずれでもない文字に一致します。

[^-,'A-Za-z0-9]

そう

var stripped = myString.replace(/[^-,'A-Za-z0-9]+/g, '');
于 2013-02-07T22:23:26.937 に答える