如何使用jQuery

时间:2019-07-25 20:09:34

标签: jquery regex string replace

我有一个始终以数字30结尾的URL。我想用另一个数字100代替它。我不确定regex是否是最佳选择,如果是,该怎么做? 这是我的尝试,但是我正在寻找一种更专业的产品,该产品在任何情况下都可以使用,并且只更改URL的最后一位30。

let URL = "https://is5-ssl.mzstatic.com/image/thumb/Music/v4/5c/5a/a0/5c5aa0fd-978e-b038-3918-f6127f97295e/source/30x30bb.jpg";
URL.replace("/([30])\w+/g", "100");

先谢谢了。

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式

\/30x30([a-z]*\.\w+)$

enter image description here


let URL = "https://is5-ssl.mzstatic.com/image/thumb/Music/v4/5c/5a/a0/5c5aa0fd-978e-b038-3918-f6127f97295e/source/30x30bb.jpg";

let replace30 = (url) =>{
  return url.replace(/\/30x30([a-z]*\.\w+)$/g, "/100x100"+ "$1")
}

console.log(replace30(URL))
console.log(replace30('http:hello.example.com/400x500bb.jpg'))
console.log(replace30('http:hello.example.com/source/helloworld.jpg'))

答案 1 :(得分:1)

let URL = "https://is5-ssl.mzstatic.com/image/thumb/Music/v4/5c/5a/a0/5c5aa0fd-978e-b038-3918-f6127f97295e/source/30x30bb.jpg";

let last_index=URL.lastIndexOf('/');
let substring=URL.substring(last_index + 1);
let replaced=substring.replace(/30/g,"100");
let newURL=URL.substr(0, last_index+1) + replaced;

console.log(newURL);

答案 2 :(得分:1)

您可以确保仅在最后一个斜杠之后的部分替换为以下内容:

var URL = "https://is5-ssl.mzstatic.com/image/thumb/Music/v4/5c/5a/a0/5c5aa0fd-978e-b038-3918-f6127f97295e/source/30x30bb.jpg";
var urlFixer = (url) => {
  splitArray = url.split("/");
  splitArray[splitArray.length-1] = splitArray[splitArray.length-1].replace("30x30","100x100");
  return splitArray.join("/");
}

console.log(urlFixer(URL));