2011-06-28 70 views
87

我想在JavaScript中替换所有出现的空格字符(空格,制表符,换行符)。
如何做?替换所有空格字符

我想:

str.replace(/ /gi, "X") 
+1

http://www.regular-expressions.info/ –

+1

什么是“X”,为什么? –

+0

怎么样string.replace('',“X”); –

回答

200

你想\s

匹配单个空格 字符,包括空格,制表符, 饲料,换行。在

相当于

[ \f\n\r\t\v​\u00A0\u1680​\u180e\u2000​\u2001\u2002​\u2003\u2004​\u2005\u2006​\u2007\u2008​\u2009\u200a​\u2028\u2029​\u2028\u2029​\u202f\u205f​\u3000] 

FirefoxIE[ \f\n\r\t\v]


str = str.replace(/\s/g, "X"); 
+31

+1记住表明'replace'函数不会修改'str',所以你必须重新分配它。 – FishBasketGordo

+18

你不能给+1 ... – Juan

+0

在一个函数中,你可以返回str。替换,所以你不需要在该范围内分配。 – nottinhill

19

\s是元字符覆盖所有的空白。您不需要使其不区分大小写 - 空白区域没有大小写。

str.replace(/\s/g, "X") 
3

试试这个:

str.replace(/\s/gi, "X") 
+0

这不起作用。 '\ s \ n \ t'匹配:任何空格字符,后跟换行符,后跟tab。 –

+0

我犯了一个错误,我纠正了它。 – Headshota

+0

'g'后的'i'是什么? – M98

7

您是否尝试过的\s

str.replace(/\s/g, "X"); 
1

其实已经工作,但

只是试试这个。

取值/ \ S/G为一个字符串变量一样

String a = /\s/g; 

str = str.replaceAll(a,"X"); 
6

我们还可以利用这一点,如果我们想改变这一切多加入空格与单个字符:

str.replace(/\s+/g,'X'); 
0

未/ GI但/克

var fname = "My Family File.jpg" 
fname = fname.replace(/ /g,"_"); 
console.log(fname); 

给出

"My_Family_File.jpg"