Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트(JavaScript)로 문자열에서 숫자 추출하는 방법 – match() 메서드 활용 가이드

자바스크립트(JavaScript)를 사용하면 문자열 속에 포함된 숫자를 간단하게 추출할 수 있습니다. 이 글에서는 match() 메서드와 정규표현식을 활용해 문자열에서 하나 또는 여러 개의 숫자를 꺼내는 방법을 단계별로 알아봅니다.

문자열에서 숫자 하나 추출하기

문자열 안에 숫자가 포함되어 있고, 그 숫자만 따로 뽑아내고 싶다고 가정해 보겠습니다. 이럴 때 자바스크립트의 match() 메서드를 사용하면 아주 간단하게 해결할 수 있습니다.

먼저 숫자(1995)가 포함된 문자열을 변수에 담아 보겠습니다.

const stringWithOneNumber = "JavaScript was invented in 1995 by Brendan Eich"

이제 이 변수에 match() 메서드를 연결하고, 인수로 \d+를 전달합니다. 즉, match(/\d+/) 형태로 작성하면 됩니다.

stringWithOneNumber.match(/\d+/)

참고: \d+는 정규표현식(RegEx)의 메타 문자로, "숫자 1개 이상과 일치"한다는 의미입니다.

결과를 콘솔에 출력해 보겠습니다.

console.log(stringWithOneNumber.match(/\d+/))
// ["1995"]

정상적으로 숫자가 추출된 것을 확인할 수 있습니다!

문자열에서 여러 개의 숫자 추출하기

그렇다면 문자열 안에 두 개 이상의 숫자가 들어 있다면 어떻게 해야 할까요?

방법은 간단합니다. match() 메서드의 인수에 전역(global) 플래그인 g만 추가하면 됩니다. 앞서 사용한 예제 문장에 이번에는 숫자 두 개가 포함된 경우를 살펴보겠습니다.

const stringWithMultipleNumbers =
  "JavaScript was invented in 1995 by Brendan Eich, and is still used in 2020"

이제 match() 메서드에 \d+g 플래그를 함께 넣어 호출합니다.

stringWithMultipleNumbers.match(/\d+/g)

결과를 출력해 보겠습니다.

console.log(stringWithMultipleNumbers.match(/\d+/g))
// ["1995", "2020"]

문장에 포함된 모든 숫자가 배열 형태로 깔끔하게 추출됩니다. 이처럼 match() 메서드와 정규표현식만 활용하면 복잡한 로직 없이도 문자열에서 원하는 숫자를 손쉽게 가져올 수 있습니다.