
문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
function solution(my_string) {
// 정규표현식을 사용해서 알파벳 소문자, 대문자를 제거함
let stringArr = my_string.replace(/[A-z]/g, " ").split(" ");
return stringArr.reduce((acc, cur) => {
if(!isNaN(+cur)) return acc += +cur;
}, 0)
}
function solution(my_string) {
return my_string.split(/\D+/).reduce((acc, cur) => acc + Number(cur), 0);
}
정규표현식을 활용하는 방법은 정말 무궁무진하군...
my_string.split(/\D+/) 여기서 \D+는 하나 이상의 숫자가 아닌 문자를 의미한다. 문자열에서 숫자가 아닌 문자들을 기준으로 문자열을 분할하여 숫자만 남기는 배열을 만들어준다. function solution(my_string) {
return my_string.toLowerCase().replace(/[a-z]/g, " ").split(" ").map((v) => v*1).reduce((a,b) => a+b)
}
.replace(/[A-z]/g, " ")로 하시면 대문자 소문자 모두 포함해서.toLowerCase()가 필요없습니다.