2012-03-27 102 views
0

我有一個字符串,如下所示:some + thing + - +更多更改字符串中的變量javascript

如何替換+號?

我曾嘗試沒有成功如下:

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

一個字符集可以做到這一點:'/ [+]/g'或者你可以轉義它:'/ \ +/g'。 – 2012-03-27 21:41:18

+1

請注意''/ +「'實際上有不同的含義 - 也就是這兩個字符。 JavaScript中的轉義字符是''''。 – pimvdb 2012-03-27 21:43:59

回答

8

你需要用反斜槓逃逸的加號,就像這樣:

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

這個結果:

"blank blank blank blank" 

你應該使用escape char:

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

感謝喬納森。

我採取了不同的方法:我想出了+符號的十六進制數爲2B左右....

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

也做的伎倆!

+1

對於很多其他情況,這實際上是一個非常好的技術。 \ x爲十六進制值,\ u爲unicode。對於OP的情況,這有點矯枉過正,但大多數開發人員應該意識到這一點。 – 2012-03-29 17:46:53