私はこれを試しました:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace("(", "").replace(")", "");
すべての二重引用符と単一引用符で機能しますが、括弧の場合、これは文字列の最初の括弧のみを置き換えます。
JavaScriptを使用して文字列内のすべての括弧を置き換えるように機能させるにはどうすればよいですか?または、文字列内のすべての特殊文字を置き換えますか?
以下を試してください:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace(/\(|\)/g, "");
これらの厄介な括弧をつかむためのREGEXの少し。
次のようなものを使用する必要があります。
mystring = mystring.replace(/["'()]/g,"");
他の人のために機能していなかった理由は、「グローバル」引数を忘れたためです(g)
ご了承ください [...]
は文字クラスです。それらの括弧の間はすべて置き換えられます。
単一の置換ステートメントでこれを実行できるはずです。
mystring = mystring.replace(/["'\(\)]/g, "");
すべてのspecial文字を置き換えようとしている場合は、このようなパターンを使用できます。
mystring = mystring.replace(/\W/g, "");
これは、Word以外の文字を置き換えます。
括弧を探している場合は、正規表現を使用することもできます。括弧をエスケープするだけです。
mystring = mystring.replace(/\(|\)/g, '');
これにより、文字列全体からすべての(
および)
が削除されます。
ただ1つの交換が行います:
"\"a(b)c'd{e}f[g]".replace(/[\(\)\[\]{}'"]/g,"")
それはうまくいくはずです:
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace(/\(/g, "").replace(/\)/g, "");
複数のオカレンスを置き換えるには、文字列リテラルを使用している検索文字列として正規表現を使用する必要があるためです。文字列で検索すると、最初に出現したものだけが置き換えられます。
文字列ベースの置換方法はグローバルに置換されません。そのため、おそらく正規表現ベースの置換方法を使用する必要があります。注意する必要があります:
(
と)
はグループマッチングに使用されるため、エスケープする必要があります。
mystring= mystring.replace(/"/g, "").replace(/'/g, "").replace(/\(/g, "").replace(/\)/g, "");
これで問題を解決できます:myString = myString.replace(/\"|\'|\(|\)/)
例