すべての空白文字を置き換える


回答:


315

あなたが欲しい \s

スペース、タブ、フォームフィード、ラインフィードを含む単一の空白文字に一致します。

に相当

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

のFirefox[ \f\n\r\t\v]IE


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

41
+1は、replace関数がを変更しないことを示すことを忘れないためstr、割り当て直す必要があります。
FishBasketGordo

1
関数では、str.replaceを返すことができるため、そのスコープで割り当てる必要はありません。
スティーブK

Rを使用するために覚えているperl = TRUEように、gsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

30

\sすべての空白をカバーするメタ文字です。大文字と小文字を区別する必要はありません。空白には大文字と小文字の区別はありません。

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

19

単一の文字で結合された複数の空白スペースをすべて変更したい場合にも、これを使用できます。

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

ここで実際にそれを見てください:https//regex101.com/r/d9d53G/1

説明

/ \s+/ g

  • \s+空白文字と一致します(と等しい[\r\n\t\f\v ]
  • + 量指定子 —可能な限り何度でも1回から無制限に一致し、必要に応じて返します(貪欲)

  • グローバルパターンフラグ
    • g修飾子:g lobal。すべての一致(最初の一致の後に戻らない)


4

使用する場合

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

すべての空白を置き換えます。例えば:

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"


3

/ giではなく/ g

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

与える

"My_Family_File.jpg"

1

実際にそれは働いたが

これを試してみてください。

/ \ s / gという値を次のような文字列変数に取ります。

String a = /\s/g;

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

どこreplaceAllから来たの?
Ionel Lupu

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.