145

正規表現の回答とともに、JavaScriptのトリムに関するこの質問を読みました。

次に、trimが Hello と World の間 の内部スペースを削除することを期待しています。

function myFunction() {
    alert("Hello World ".trim());
}

編集済み

なぜ私はそれを期待した!?

ナンセンス!明らかに、トリムは内部スペースを削除しません!、先頭と末尾のスペースのみ、それがトリムの仕組みです。これは非常に間違った質問でした。申し訳ありません。

4

6 に答える 6

310

スペース文字除去用

"hello world".replace(/\s/g, "");

すべての空白については、以下のコメントで Rocket の提案を使用してください。

于 2012-05-29T13:43:23.280 に答える
20

使用できます

"Hello World ".replace(/\s+/g, '');

trim()文字列の末尾のスペースのみを削除します (チェーンの最初と最後)。この場合、1 つ以上のスペースを同時に削除できるため、この regExp の方が高速です。

置換の空の文字列を「$」に​​変更すると、違いがより明確になります。

var string= '  Q  W E   R TY ';
console.log(string.replace(/\s/g, '$'));  // $$Q$$W$E$$$R$TY$
console.log(string.replace(/\s+/g, '#')); // #Q#W#E#R#TY#

パフォーマンスの比較 -/\s+/gより高速です。ここを参照してください: http://jsperf.com/s-vs-s

于 2020-04-10T12:25:33.977 に答える
8

おそらく、受け入れられた回答でソリューションを実装するのを忘れたためです。それが機能するコードですtrim()

アップデート

この回答は、古いブラウザーにのみ適用されます。新しいブラウザはtrim()ネイティブにサポートしているようです。

于 2012-05-29T13:42:09.593 に答える