0

0-9 az およびいくつかの文字の配列を除く任意の文字を '' (何もない) に置き換える方法。

私のコードは次のようになります

Var pCharArray = ['l', 'o', 'c'];//local characters
Var stringOrginal = 'Some Text';
stringOrginal.replace(/(^[0-9][a-z]pCharArray)/g, '');

0-9 でなく、かつazでなく、かつpCharArrayにないすべての文字を削除する必要があります。

4

2 に答える 2

4

これを使用できます:

stringOrginal.replace(new RegExp("[^0-9a-z" + pCharArray.join('')+"]", 'g'), "");

ノート:

Var => var (lowercase)

ライブデモ

于 2012-06-24T18:33:05.193 に答える
3

^ 文字は、文字クラス内で使用される場合にのみ否定を意味します。つまり、[^a] は a 以外の任意の文字を意味します。文字クラスの外で使用される場合、文字列の先頭を意味します。

正しいコード:

stringOrginal.replace(new RegExp("[^0-9a-z"+pCharArray.join('')+"]", 'g'), '');

また、バックスラッシュまたは閉じ括弧を pCharArray 配列に含めたい場合は、それぞれ '\\' および '\]' として指定する必要があることに注意してください。

于 2012-06-24T18:34:34.197 に答える