2014-01-13 3 views
0

String.replace()을 정규 표현식과 함께 사용하여 일치하는 표현식을 대체하려고합니다.정규식을 사용하여 문자열의 일치 항목 바꾸기

과 같이 :

var newStr = loc.replace(/Slide(\d*)/,(i+1));

이 표현은 내가 단지를 대체 할

https://xxxxxxx.net/qa/club/1.PNG

https://xxxxxxx.net/qa/club/Slide1.PNG

변 단어를 제거하지 않고 "슬라이드"다음의 숫자. 어떻게해야합니까?

+0

항상 제거하고 싶은 "슬라이드"입니까? –

+0

@JHuangweb "Slide"를 절대 제거하고 싶지 않다 – Houseman

답변

3

캡처 그룹을 사용하여 대체품에 삽입하십시오. 단어가 항상 슬라이드 될 경우

loc.replace(/(Slide)\d*/, '$1' + (i+1)); 

, 당신은 단순히 주변

loc.replace(/Slide\d*/, 'Slide' + (i+1)); 

paratheses 아무것도

을 캡처하지 않고 사용할 수 있습니다 (I + 1) 문자열 연결하기 전에 수학 연산을 강제하는 것이 중요합니다.

항상 Slide 다음에 숫자가 오는 경우 *을 일반 표현식에서 +으로 변경하십시오.

+0

나는 'Slide'를 전혀 원하지 않는다. 난 그 번호를 원해. '+'는 숫자와 함께'Slide '와 일치하는 것으로 보인다. – Houseman

관련 문제