값은 12 23 345 3454 21
입니다.공백에서 추출 숫자
이 배열에서 숫자를 가져 와서 배열에 저장해야하므로 내 배열은 values = new Array(12,23,345,3454,21);
처럼 보일 것입니다.
제 문제는 공백을 제거 할 수 있지만 1223345345421
으로 나타납니다.
값은 12 23 345 3454 21
입니다.공백에서 추출 숫자
이 배열에서 숫자를 가져 와서 배열에 저장해야하므로 내 배열은 values = new Array(12,23,345,3454,21);
처럼 보일 것입니다.
제 문제는 공백을 제거 할 수 있지만 1223345345421
으로 나타납니다.
split(" ")
을 사용하여 문자열을 공백으로 분리 할 수 있습니다. 하지 않을 수 있습니다) (트림 @Sangdol으로
언급했다
> 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"]
편집 :
는 여러 공백 문자를 따라 선행 및 후행 공백 및 분할 트림한다, 더 철저합니다 IE9에서 작동하므로 one of these solutions을 포함하여 IE9에 trim() 기능을 추가 할 수 있습니다. 또는trim()
을 replace(/^\s+|\s+$/g, '')
으로 대체하십시오. 어느 솔루션이든 브라우저 간 호환성을위한 대안으로 작동합니다. 이 같은 패턴이 있다면 .replace(/^\s+|\s+$/g, '').split(/\s+/)
, 당신은 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
을 대안으로 분할, 당신은 일치를 사용할 수 있습니다
' 12 23 345 3454 21 '.match(/\d+/g); //12,23,345,3454,21
추출하려는 패턴과 관련이 있으며, 적합하지 않을 수도 있습니다. 개입 된 불일치 (공백 포함)가 반환되지 않도록 일치 패턴 만 가져옵니다.
주의하십시오. 'trim '은 IE9에서는 작동하지 않습니다. –
나중에 요소를 숫자로 변환하지 않아도되므로 솔루션 끝에 다음을 추가 할 수 있습니다. .map (function (val) {return parseInt (val, 10);}) – Jules