>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 문자열에서 숫자를 효율적으로 추출하려면 어떻게 해야 합니까?

JavaScript의 문자열에서 숫자를 효율적으로 추출하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-13 22:56:11775검색

How Can I Efficiently Extract Numbers from Strings in JavaScript?

JavaScript의 문자열에서 숫자 추출

JavaScript에서는 여러 가지 방법으로 문자열에서 숫자를 검색할 수 있습니다. "#box2"와 같은 문자열이 있고 숫자 부분(이 경우 "2")을 추출해야 하는 시나리오를 생각해 보겠습니다.

실패한 시도

문제에서 언급했듯이 다음 코드를 사용하면 작동하지 않습니다.

var thenum = thestring.replace(/(^.+)(\w\d+\w)(.+$)/i, '');

이 코드는 단어 문자 뒤에 오는 문자를 캡처하도록 설계되었습니다. 숫자와 다른 단어 문자를 포함하지만 결과에서 숫자가 아닌 문자는 제거되지 않습니다.

해결책

이 특정 예에서 올바른 코드는 다음과 같습니다.

var thenum = thestring.replace(/^\D+/g, '');

이 코드는 숫자가 아닌 모든 선행 문자(숫자가 아닌 문자)를 빈 문자열로 대체하여 다음과 같이 남습니다.

일반 경우

일반적인 경우 다음 코드를 사용하여 문자열에서 숫자를 추출할 수 있습니다.

thenum = "foo3bar5".match(/\d+/)[0];

이 코드는 정규식을 사용하여 문자열에서 하나 이상의 숫자를 검색하고 첫 번째 일치 항목을 string.

보너스: 정규식 생성기

귀하의 편의를 위해 정규식을 생성하는 데 도움이 되는 온라인 도구가 있습니다. 그러한 도구 중 하나는 "RegExp Generator"(제공된 코드 예제에 링크됨)입니다.

위 내용은 JavaScript의 문자열에서 숫자를 효율적으로 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.