반응형
JavaScript의 문자열에서 숫자가 아닌 모든 문자 제거
JavaScript / ECMAScript를 사용하여 문자열에서 숫자가 아닌 모든 문자를 제거하려는 비 DOM 시나리오를 고려하십시오. 범위 내에있는 모든 문자는 0 - 9
유지되어야합니다.
var myString = 'abc123.8<blah>';
//desired output is 1238
평범한 JavaScript에서 어떻게 이것을 달성 할 수 있습니까? 이것은 비 DOM 시나리오이므로 브라우저 및 키 누르기 이벤트와 관련된 jQuery 및 기타 솔루션은 적합하지 않습니다.
숫자가 아닌 모든 문자와 일치하는 축약 문자 클래스 인 .replace
정규식이 있는 문자열의 메서드를 사용합니다 \D
.
myString = myString.replace(/\D/g,'');
플로트 숫자에 점을 남기기 위해 이것이 필요하면 이것을 사용하십시오
var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"
스크립트 구현에서 지원하는 경우 정규식을 사용하십시오. 다음과 같은 것 :
myString.replace(/[^0-9]/g, '');
RegExp를 사용하여 숫자가 아닌 모든 문자 를 바꿀 수 있습니다 .
var myString = 'abc123.8<blah>';
myString = myString.replace(/[^\d]/g, ''); // 1238
라인을 따라 뭔가 :
yourString = yourString.replace ( /[^0-9]/g, '' );
시험
myString.match(/\d/g).join``
var myString = 'abc123.8<blah>'
console.log( myString.match(/\d/g).join`` );
우리는에 2,017 지금 당신은 또한 사용할 수 있습니다 ES2016을
var a = 'abc123.8<blah>';
console.log([...a].filter( e => isFinite(e)).join(''));
또는
console.log([...'abc123.8<blah>'].filter( e => isFinite(e)).join(''));
결과는
1238
반응형
'your programing' 카테고리의 다른 글
IEnumerable vs List-무엇을 사용합니까? (0) | 2020.10.02 |
---|---|
C #에서 문자열을 다른 문자열로 분할 (0) | 2020.10.02 |
pip와 conda의 차이점은 무엇입니까? (0) | 2020.10.02 |
새 Android 조각을 인스턴스화하는 모범 사례 (0) | 2020.09.30 |
AMD 프로세서로 AVD를 시작하는 중 오류 (0) | 2020.09.30 |