我试图用String.replace()
用正则表达式替换匹配的表达式。使用正则表达式替换字符串中的匹配
像这样:
var newStr = loc.replace(/Slide(\d*)/,(i+1));
这个表达式把
https://xxxxxxx.net/qa/club/Slide1.PNG
到
https://xxxxxxx.net/qa/club/1.PNG
我只是想更换“Slide”后面的数字,而不删除该单词。我怎样才能做到这一点?
我试图用String.replace()
用正则表达式替换匹配的表达式。使用正则表达式替换字符串中的匹配
像这样:
var newStr = loc.replace(/Slide(\d*)/,(i+1));
这个表达式把
https://xxxxxxx.net/qa/club/Slide1.PNG
到
https://xxxxxxx.net/qa/club/1.PNG
我只是想更换“Slide”后面的数字,而不删除该单词。我怎样才能做到这一点?
使用捕获组并将其插入到替换中。
loc.replace(/(Slide)\d*/, '$1' + (i+1));
如果单词永远是幻灯片,那么你可以简单地使用这周围没有捕获任何
loc.replace(/Slide\d*/, 'Slide' + (i+1));
的paratheses第(i + 1)是很重要的字符串连接之前强制数学运算。
如果Slide
后面总是跟一个数字,请在正则表达式中将*
更改为+
。
我根本不想要“幻灯片”。我只是想要这个号码。除了数字之外,'+'似乎与'Slide'匹配。 – Houseman
它总是“幻灯片”,你想删除? –
@JHuangweb我永远不想删除“幻灯片” – Houseman