[Javascript] 숫자 앞자리 0 제거
October 20, 2023
“00001234” 같이 숫자인데 문자열로 되어있는 경우가 있습니다. 문제는 앞에 0000 같은 무의미한 0이 포함되어있는 것입니다. 무의미한 앞자리 0을 제거하려면 어떻게 해야할까요? 예제를 통해서 0을 제거하는 방법에 대해서 알아보겠습니다.
1. Number로 앞자리 0 제거
Number(str)
는 문자열 str을 number 타입 변수로 변환합니다. number 타입으로 변환하면서 앞자리 0은 모두 제거됩니다. string 타입이 필요하다면, number.toString()
으로 number를 string 타입으로 변환할 수 있습니다.
let strNum = "00001234";
let num = Number(strNum);
let str = num.toString();
console.log(num); // 1234
console.log(str); // "1234"
Output:
1234
1234
2. parseInt()로 앞자리 0 제거
parseInt(str, 10)
는 문자열 str을 10진수로 파싱하며, number 타입의 객체 리턴합니다. string 타입이 필요하다면, number.toString()
으로 number를 string 타입으로 변환할 수 있습니다.
let strNum = "00001234";
let num = parseInt(strNum, 10);
let str = num.toString();
console.log(num); // 1234
console.log(str); // "1234"
Output:
1234
1234
3. 정규표현식으로 앞자리 0 제거
정규표현식을 사용하여 앞자리 0을 찾을 수 있고, 이 문자들을 제거할 수 있습니다.
앞자리 0을 찾는 정규식 패턴은 ^0+
로, ^
는 문자열 시작을 의미하고 0+
는 문자 0이 1개 이상 반복되는 것을 의미합니다. 이렇게 문자열 앞에서 반복되는 0을 찾고 replace()
로 빈문자열로 변환하여 제거할 수 있습니다.
replace(pattern, repl)
: pattern에 해당하는 문자열을 repl로 변환, 패턴은/pattern/
으로 입력
let strNum = "00001234";
let str = strNum.replace(/^0+/, "");
let num = Number(str);
console.log(str); // "1234"
console.log(num); // 1234
Output:
1234
1234