我使用javascript将字符串附加到变量(将特定图像大小添加到移动设备上的滑块)。
这是我使用的行。
var newsrc = src.substring(0, src.lastIndexOf(".")) + "-420x320" + src.substring(src.lastIndexOf("."));
然而,在某些情况下,图像src具有其他尺寸,在这种情况下,我想删除该尺寸并添加上面的尺寸。
实施例: 两者
http://domain.com/10001428289243jpg-700x703.jpg and
http://domain.com/10001428289243jpg.jpg
需要:
http://domain.com/10001428289243jpg-420x320.jpg
在这种情况下你会用什么?
答案 0 :(得分:3)
您只需要构建一个带有可选部分的模式:
src = src.replace(/(?:-\d+x\d+)?\.jpg$/, '-420x320.jpg');
其中(?:-\d+x\d+)?
是可选的非捕获组,$
是字符串末尾的锚点。
答案 1 :(得分:0)
我坚持使用与-#x#
模式匹配的快速替换,并将其替换为空白。
var newsrc = src.replace(/(-\d+x\d+)/,"").substring(0, src.lastIndexOf(".")) + "-420x320" + src.substring(src.lastIndexOf("."));
答案 2 :(得分:0)
FIDDLE LINK:http://jsfiddle.net/9u8m9oob/1/
您也可以使用以下方式实现相同目的:
var str1='http://domain.com/10001428289243jpg.jpg';
var str2='http://domain.com/10001428289243jpg-700x703.jpg';
var regex=/^(http:\/\/domain\.com\/)(\d+jpg)(.)*(\.jpg)$/g;
var result= str1.replace(regex,"$1$2-420x320$4");
console.log(result); // gives output as http://domain.com/10001428289243jpg-420x320.jpg