2014-01-13 3 views
0

Я пытаюсь использовать String.replace() с регулярным выражением для замены согласованного выражения.с использованием регулярного выражения для замены соответствия в строке

Как так:

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

Это выражение получается

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

в

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

Я просто хочу, чтобы заменить номера после «Слайд», не удаляя слово. Как я могу это сделать?

+0

Всегда ли это «слайд», который вы хотите удалить? –

+0

@JHuangweb Я никогда не хочу удалять «Слайд» – Houseman

ответ

3

Используйте группу захвата и вставьте ее в вашу замену.

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

Если слово всегда будет слайд, то вы можете просто использовать это, не захватив ничего

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

The paratheses вокруг (я + 1) имеют важное значение, чтобы заставить математическую операцию до объединения строк.

Если Slide всегда следует за номером, измените * на + в регулярном выражении.

+0

Я вообще не хочу «Слайд». Я просто хочу номер. В дополнение к числу '' '' '' '' '' Совмещает 'Slide'. – Houseman

Смежные вопросы