문자열 my_string
이 매개변수로 주어집니다. my_string
은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string
안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
Javascript 문자열에서 숫자만 추출하고 싶을 때 2가지 방법이 있다.
1. match 와 정규식 사용하기
2. replace 와 정규식 사용하기
숫자가 아닌 문자를 모두 선택하는 정규식
/[^0-9]/g
정규식 형식으로/
사이에 모든 숫자를 매칭하는[0-9]
에 부정을 뜻하는^
를 붙여[^0-9]
를하면 모든 숫자를 제외한 문자만을 매칭하고 발생할 모든 패턴에 대한 전체 검색을 뜻하는 플래그인g
를 붙여 만듭니다.
const my_string = "aAb1B2cC34oOp";
const num = my_string.match(/[0-9]/g);
num; // [ '1', '2', '3', '4' ]
이어진 숫자 출력해보기
const my_string = "aAb1B2cC34oOp";
const num = my_string.match(/[0-9]+/g); // [0-9] 뒤에 +를 붙여주면 이어진 숫자는 붙어서 출력이됨
num; // [ '1', '2', '34' ]
const my_string = "aAb1B2cC34oOp";
const num = my_string.replace(/[^0-9]/g, "");
num; // 1234
function solution(my_string) {
const num = my_string.match(/[0-9]+/g); // [ '1', '2', '34' ]
return num ? num.map(a => Number(a)) : 0;
}
function solution(my_string) {
const num = my_string.match(/[0-9]+/g); // [ '1', '2', '34' ]
return num ? num.map(a => Number(a)).reduce((acc, cur) => acc + cur, 0) : 0; // 37
}