0

例えば:

 var str="abc\'defgh\'123";

\使用しているJavascriptをすべて削除したい。いくつかの関数を試しましたが、それでもすべてのスラッシュを置き換えることはできません。

4

5 に答える 5

3

ここに、JSに大量のbollocks複数の置換機能を投稿しました。しかし、あなたの場合、次のいずれかの方法でうまくいきます。

str = str.replace('\\',' ');//Only replaces first occurrence 
str = str.replace(/\\/g,' ');
str = str.split('\\').join(' ');

@Guillaume Pousselが指摘したように、最初のアプローチはバックスラッシュの1回の発生を置き換えるだけです。これは使用しないでください。正規表現を使用するか、(文字列が非常に長い場合は)split().join()アプローチを使用してください。

于 2012-09-17T09:46:55.887 に答える
1

次のような置換関数を使用するだけです。

str = str.replace('\\', ' ');

注意してください、あなた\は別のものと一緒に脱出する必要があります\。この関数は変更された文字列を返しますが、呼び出された文字列は変更しないため、私の例のように戻り値を取得する必要があります。だからただやっている:

str.replace('\\', ' ');

そして、を使用strすると、置換なしで元の文字列で機能します。

于 2012-09-17T09:39:47.217 に答える
1

試す:

string.replace(searchvalue、newvalue)

あなたの場合:

str.replace('\\', ' ');
于 2012-09-17T09:40:44.853 に答える
1
str="abc\\'asdf\\asdf"
str=str.replace(/\\/g,' ')

ケース内ですべて を置換したいのです'\'が、関数replaceは、'\'を直接使用した場合に1回だけ置換を実行します。パターンは正規表現として記述する必要があります。

http://www.w3schools.com/jsref/jsref_replace.aspを参照してください。

于 2012-09-17T09:44:40.630 に答える
0

string.replaceの使用:

var result = str.replace('\\', ' ');

結果:

「abc'defgh'123」
于 2012-09-17T09:41:36.973 に答える