2012-03-27 107 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