0

値は次のようなものです: 12 23 345 3454 21.

これから数値を取得して配列に格納する必要があるため、配列は のようになります values = new Array(12,23,345,3454,21);

私の問題は、空白を削除できることですが、1223345345421.

4

3 に答える 3

7

split(" ")空白に沿って文字列を分割するために使用できます。

より徹底するには、先頭と末尾のスペースを切り取り、複数のスペース文字に沿って分割する必要があります。

> var numbers_in_string = "   12   23 345 3454    21    ";
> var numbers_in_array = numbers_in_string.trim().split(/\s+/);
> console.log(numbers_in_arrays)
["12", "23", "345", "3454", "21"]

編集

@Sangdol が述べたように、trim() は IE9 では機能しない可能性があるため、これらのソリューションのいずれかをインクルードして、trim() 機能を IE9 に追加できます。trim()または、に置き換えるだけreplace(/^\s+|\s+$/g, '')です。どちらのソリューションも、ブラウザー間の互換性を回避するための回避策として機能します。

.replace(/^\s+|\s+$/g, '').split(/\s+/)
于 2012-06-20T02:08:23.253 に答える
2

同じパターンの場合は、次を使用できますsplit()

var arr = '12 23 345 3454 21'.split(' ');
console.log(arr); // [12, 23, 345, 3454, 21]

ドキュメント:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split

于 2012-06-20T02:09:15.757 に答える
1

split の代わりに、match を使用できます。

' 12 23   345   3454   21 '.match(/\d+/g); //12,23,345,3454,21

これは、抽出しようとしているパターンに固有のものであり、適合する場合と適合しない場合があることに注意してください。一致したパターンのみを取得するため、介在する不一致 (空白を含む) は返されません。

于 2012-06-20T03:40:44.157 に答える