2011-06-28 33 views
87

JavaScriptのすべての空白文字(スペース、タブ、改行)を置き換えます。
どうすればよいですか?私が試したすべての空白文字を置き換えます。

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

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

+1

「X」とは何か、なぜですか? –

+0

string.replace( ''、 "X")はどうでしょうか? –

答えて

200

あなたは\s

をしたいがスペース、タブ、フォーム フィード、改行を含む、単一の空白 文字にマッチします。 IE

[ \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] 
Firefox

[ \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'は空白文字、改行、タブの順にマッチします。 –

+0

私は間違いを訂正しました。 – Headshota

+0

'g'の後ろの' i'は何ですか? – M98

7

あなたは\sを試みたことがありますか?

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

は、実際には働いてきたが、

はちょうどこれを試してみてください。

我々はすべての複数を変更したい場合我々はまた、これを使用することができ

String a = /\s/g; 

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

のような文字列変数に\ S/G /値を取るには、単一の文字を空白に参加しました:

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

ない/ GIけど/ gで

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

012を与えます私はunderscore.stringから「slugify」メソッドを使用してきましたし、それが魅力のように働いた
"My_Family_File.jpg" 
関連する問題