回答:
正規表現を繰り返すようにreplace()に指示する必要があります。
.replace(/ /g,'')
グラムの文字は、文字列全体を通じて検索を繰り返すことを意味します。これと、JavaScript で利用できる他のRegEx修飾子については、こちらをお読みください。
リテラルの空白文字だけでなく、すべての空白に一致させたい場合は、\s
代わりに次を使用します。
.replace(/\s/g,'')
x = " Many spaces before and after "
y = x.replace(/(^\s+|\s+$)/g, "")
^\s
\s$
|
g
+
\s
.replace(/\s+/, "")
最初の空白のみを置き換えます。これには、スペース、タブ、改行が含まれます。
文字列内のすべての空白を置き換えるには、グローバルモードを使用する必要があります
.replace(/\s/g, "")
+
既に使用しているため、何も追加されませんg
String.prototype.replace
他の回答で述べたように、正規表現で使用することは確かに最良の解決策です。
ただし、面白くするために、String.prototype.split
and を使用して、テキストからすべての空白を削除することもできますString.prototype.join
。
const text = ' a b c d e f g ';
const newText = text.split(/\s/).join('');
console.log(newText); // prints abcdefg
.replace(/\s+/g, '')
それを使用することは私には全く問題ありません。