2011-06-28 69 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"