すべてを削除する方法:文字、数字、スペース、感嘆符、疑問符以外の文字列をすべて削除するには?
文字、数字、スペース、感嘆符、文字列からの疑問符?
このメソッドが国際言語(UTF-8)をサポートすることは重要です。
すべてを削除する方法:文字、数字、スペース、感嘆符、疑問符以外の文字列をすべて削除するには?
文字、数字、スペース、感嘆符、文字列からの疑問符?
このメソッドが国際言語(UTF-8)をサポートすることは重要です。
。
Character Class:
\w
は "単語文字"、通常[A-Za-z0-9_]
の略です。アンダースコアと数字が含まれていることに注意してください。
\s
は「空白文字」を表します。それには[ \t\r\n]
が含まれます。
アンダースコアを使用しない場合は、ちょうど[A-Za-z0-9]
を使用できます。
myString.replace(/[^A-Za-z0-9\s!?]/g,'');
ユニコード文字の場合は、式に\u0000-\u0080
のようなものを追加できます。そのユニコード範囲内のすべての文字が除外されます。 の文字の範囲を指定する必要があります。が削除されないようにしてください。すべてのコードはUnicode Mapにあります。あなたが保持したい文字や文字の範囲を追加するだけです。例えば
:
myString.replace(/[^A-Za-z0-9\s!?\u0000-\u0080\u0082]/g,'');
これは、前述のすべての文字、\u0000-\u0080
と\u0082
の範囲をできるようになります。 \u0081
が削除されます。
ちょっと考えましたが、アンダースコア文字も残していませんか? –
と感嘆?それは国際的な手紙を削除します... –
@tomaszs私はそれに対処するための答えを更新しました。 – sachleen
これまで両方の回答が疑問符を捨てました。私は彼らにコメントしますが、まだ十分な担当者がいません。
ダビデは正しいです、sachleenの正規表現はアンダースコアを残します。 rcdmkの正規表現は、以下のように修正されていますが、国際的な文字を気にすると、もっと複雑になるかもしれませんが、このトリックを行います。
var result = text.replace(/[^a-zA-Z0-9\s!?]+/g, '');
これにより、改行やタブ、スペースが残されます。あなたにも新しい行とタブを取り除きたい場合は、それを変更します。
var result = text.replace(/[^a-zA-Z0-9 !?]+/g, '');
text = "A(B){C};:a.b*!c??!1<>[email protected]#3"
result = text.replace(/[^a-zA-Z0-9]/g, '')
ABCabc123
ファーストを返す必要があり、我々は
A B C a b c 1 2 3
としてではなくランダムな文字 セットでテキストを定義しますresult
として:
text.replace(...)
ここでパラメータは:
/.../g
/.../
^
は、ただ最初のないすべてマッチを削除する
a-z
(小文字)は、A-Z
(大文字)と0-9
(桁)
g
はグローバルを意味し、:ある文字を削除しません一致第2パラメータは置換文字です指定された文字列を保持するだけの空の文字列に変換します。あなたは式が許可、または削除する、などの文字にしたい
"A B C a b c 1 2 3"
:
が指定されている場合、これを返しますように 'A'、'é'と 'è'(と... )? –