2012-03-27 10 views
0

文字列があるようです:some + thing + - + More文字列内の変数を変更する

+記号はどのように置き換えますか?

は、私は成功せず、次の試してみました:

あなたがそうのように、バックスラッシュとプラス記号をエスケープする必要が
temps = "some+thing+-+More"; 
temps = temps.replace("/+" /g, "blank"); 
temps = temps.replace("+" /g, "blank"); 
temps = temps.replace(/+/g, "blank"); 
+1

文字セットは '/ [+]/g'または'/\ +/g'だけエスケープすることができます。 –

+1

''/+ ''は実際には異なる意味を持っています。つまり、これら2つの文字だけです。 JavaScriptのエスケープ文字は '' \ ''です。 – pimvdb

答えて

8

var temps ="some+thing+-+More"; 
temps = temps.replace(/\+/g, "blank"); 
0
"+ + + +".replace(/\+/g, "blank") 

この結果:

"blank blank blank blank" 

エスケープ文字を使用する必要があります。

temps = temps.replace(/\+/g, "blank"); 
0

おかげでジョナサン。

私は別のアプローチを取った:私は+記号用六角の数は2Bそうだっ把握....

temps = temps = temps.replace(/\x2B/g, "blank"); 

もトリックをしました!

+1

これは実際には他の多くの状況では本当に良いテクニックです。 16進値は\ x、ユニコードは\ uです。 OPのケースでは、少し過度のことですが、ほとんどの開発者はこのことに気づくべきではありません。 –

関連する問題