0

テキスト行を空白で分割したい (つまり、すべての空白を取り除き、残りを個別の要素として残す)。私はこのコードを持っています:

line.split(/\s+/);

しかし、それは私が望むようには機能しません。たとえば、次のようhi there!に分割されます: [hi,there!,] (配列の最後に 1 つの空の要素があることに注意してください)。最後の空の要素なしで行を分割する方法は?

4

5 に答える 5

4

文字列の末尾に空白がありませんか? それは私のために働いているので。

いずれにせよ、これを試してください:

line.replace(/^\s+|\s+$/g,'').split(/\s+/);

これにより、分割前に文字列の先頭と末尾から空白が削除されます。

于 2012-11-28T01:15:42.277 に答える
2

文字列を分割する前に .trim() を呼び出すと、文字列の前後の空白が削除されます

于 2012-11-28T01:17:53.950 に答える
2
line.trim().split(/\s+/);

これはあなたが望むことをするはずです。

于 2012-11-28T01:18:27.570 に答える
0

もっと簡単にできるんじゃないの

line.match(/\S+/g); // => ["hi", "there!"]
于 2012-11-28T01:45:10.027 に答える
-1

単に使用しない理由

line.split(' ');

「こんにちは!」と分割されます。の中へ

["hi", "there!"]
于 2012-11-28T01:15:58.273 に答える