テキスト行を空白で分割したい (つまり、すべての空白を取り除き、残りを個別の要素として残す)。私はこのコードを持っています:
line.split(/\s+/);
しかし、それは私が望むようには機能しません。たとえば、次のようhi there!
に分割されます: [hi,there!,] (配列の最後に 1 つの空の要素があることに注意してください)。最後の空の要素なしで行を分割する方法は?
テキスト行を空白で分割したい (つまり、すべての空白を取り除き、残りを個別の要素として残す)。私はこのコードを持っています:
line.split(/\s+/);
しかし、それは私が望むようには機能しません。たとえば、次のようhi there!
に分割されます: [hi,there!,] (配列の最後に 1 つの空の要素があることに注意してください)。最後の空の要素なしで行を分割する方法は?
文字列の末尾に空白がありませんか? それは私のために働いているので。
いずれにせよ、これを試してください:
line.replace(/^\s+|\s+$/g,'').split(/\s+/);
これにより、分割前に文字列の先頭と末尾から空白が削除されます。
文字列を分割する前に .trim() を呼び出すと、文字列の前後の空白が削除されます
line.trim().split(/\s+/);
これはあなたが望むことをするはずです。
もっと簡単にできるんじゃないの
line.match(/\S+/g); // => ["hi", "there!"]
単に使用しない理由
line.split(' ');
「こんにちは!」と分割されます。の中へ
["hi", "there!"]