2016-12-20 1 views
2

다음 형식의 문자열이 있습니다 : '01/02/2016 '과 끝에'0/20/16 '을 얻을 수 있도록 맨 앞의 0을 제거하려고합니다. 정규식. 날짜 문자열에서 0을 제거합니다.

지금까지 '01/02/2016'.replace(/^0|[^\/]0./, '');을 시도하지만, 그것은 단지 나에게 어떤 도움에 감사드립니다 1/02/2016

을 제공합니다.

+1

완료되지 중복 및 플래그 [날짜 열에서 제로를 선도 제거]하지 (http://stackoverflow.com/questions/8897298/remove-leading-zeroes-in-datestring) – Mahi

+1

'g' 플래그가 빠져있는 것 외에도'^ '는'[]'안에 사용될 때 "start of"을 의미하지 않습니다. –

+0

당신은'[^ \ /]'를'\ /'로 대체 할 수 있지만 mbomb007의 대답은 "/"뿐만 아니라 어떤 구분자도 지원하므로 더 좋습니다. ;-) – RobG

답변

4

가 빈 문자열로 \b0를 교체합니다. \b은 단어 문자와 단어가 아닌 문자 사이의 경계를 나타냅니다. 귀하의 경우 \b0은 선행 0과 일치합니다.

var d = '01/02/2016'.replace(/\b0/g, ''); 
 
console.log(d);

3

이 같은 / 전에 비닝 (binning)에서 제로와 제로를 대체 할 String.prototype.replace()와 정규 표현식을 사용할 수 있습니다

var d = '01/02/2016'.replace(/(^|\/)0+/g, '$1'); 
 
console.log(d);

+0

좋아 보인다! 감사! – inside

+1

또한 이미 프로젝트 순간 ('01/02/2016 ')에 종속성이 있기 때문에 그 순간을 사용할 수 있음을 깨달았습니다. ('l ') – inside

+0

그래, 이미 라이브러리 순간을 사용하고 있다면 좋은 대답! –

관련 문제