자바스크립트에서 정규식을 이용하여 문자열에서 숫자만 추출하는 방법을 소개합니다.
1. 문자열에서 모든 숫자 추출
aaa123bbb456
와 같이 문자 사이에 숫자들이 있을 때, 문자를 모두 제거하고 남은 숫자들을 하나의 숫자로 이어서 123456
을 추출하고 싶을 때가 있습니다.
이럴 때는 아래와 같이 정규식으로 문자를 모두 제거하면 됩니다. [^0-9]
는 숫자가 아닌 문자들을 의미하는 패턴이며, g
는 문자열에서 모든 패턴을 찾으라는 의미입니다. replace(regex, "")
을 수행하면 regex에 해당하는 모든 패턴을 찾아서 ""
으로 변환합니다. 즉, 숫자가 아닌 문자들이 모두 제거됩니다. 이렇게 리턴된 숫자는 타입이 String인데, parseInt()
로 Number 타입으로 변환할 수 있습니다.
const str = "Hello_123_World_456_!!!";
const regex = /[^0-9]/g;
const result = str.replace(regex, "");
const number = parseInt(result);
console.log(result);
console.log(typeof(result));
console.log(number);
console.log(typeof(number));
Output:
123456
string
123456
number
2. 문자열에서 연속으로 이어진 숫자 패턴 추출
aaa123bbb456
와 같은 문자열에서 123
만 추출하거나 456
만 추출하고 싶을 때가 있습니다. 이럴 떄는 정규식의 match()
를 이용하여 숫자 패턴을 찾으면 됩니다.
예를 들어, d+
는 숫자로 된 문자 1개 이상인 문자열을 의미하며 g
는 모든 패턴을 찾으라는 의미입니다. foo31bar52
에서 이 패턴에 일치하는 것은 31
과 52
입니다. 그래서 리턴값을 보면 이 두개 숫자가 리턴됩니다.
let found = "foo31bar52".match(/\d+/g);
console.log(found);
Output:
[ '31', '52' ]
위와 같이 match()
를 이용하여, 아래와 같이 첫번째로 찾은 숫자와 두번쨰로 찾은 숫자를 Index로 접근할 수 있습니다.
let num = "foo31bar52".match(/\d+/g)[0];
console.log(num);
num = "foo31bar52".match(/\d+/g)[1];
console.log(num);
Output:
31
52
Loading script...
Related Posts
- JavaScript - 빈 문자열 확인, 2가지 방법
- JavaScript - 날짜/시간 비교, 3가지 방법
- JavaScript - 랜덤 문자열 생성, 2가지 방법
- JavaScript - 마지막 문자 제거, 4가지 방법
- JavaScript - 문자열 공백 제거, 3가지 방법
- JavaScript - 배열을 문자열로 변환, 3가지 방법
- JavaScript - 여러 줄 문자열, 3가지 방법
- JavaScript - 객체를 문자열로 변환, 2가지 방법
- JavaScript - 문자열의 첫번째 문자 가져오기, 4가지 방법
- JavaScript - 문자열의 마지막 문자 가져오기, 4가지 방법
- JavaScript - 배열 맨 앞에 요소 추가/제거, 2가지 방법
- JavaScript - 2차원 배열을 1차원 배열로 변환, 2가지 방법
- JavaScript - 현재 시간 Timestamp 가져오기
- JavaScript - 대소문자 변환 (LowerCase, UpperCase)
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - setTimeout()으로 함수 실행 지연
- JavaScript - 'try...catch'로 예외 처리 방법
- JavaScript - 문자열을 날짜(Date)로 변환하는 방법
- JavaScript - 배열에서 중복 제거, 4가지 방법
- JavaScript - Float을 Integer로 변환, 3가지 방법
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열에서 문자 또는 단어 추출, 4가지 방법
- JavaScript - 문자열 뒤집기, 거꾸로 출력
- JavaScript - 배열의 마지막 요소 가져오기
- JavaScript - 배열에서 최대, 최소 값 찾기
- JavaScript - 소수점 자리수 올림, 내림, 반올림, 제거 방법
- JavaScript - 숫자 3자리마다 콤마(,) 넣는 방법
- JavaScript - 타입 확인 방법 (typeof)
- JavaScript - 빈 배열인지 확인 (Empty Array)
- JavaScript - 배열 길이 확인, 길이 변경 (Array.length)
- JavaScript - 문자열에서 숫자만 추출
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 배열 합치기 (concat, spread, push)
- JavaScript - 문자열에서 특정 문자 위치 찾기 (indexOf, lastIndexOf)
- JavaScript - 현재 날짜, 시간 가져오기
- JavaScript - 배열 정렬 방법 (오름차순, 내림차순)