【问题标题】:replace strings in url using regular expression使用正则表达式替换 url 中的字符串
【发布时间】:2014-09-18 05:22:36
【问题描述】:
我的正则表达式真的很差,所以这就是我在这里问基本问题的原因。我想在 javascript 的 url 中用斜杠更改一些字符串。请帮助我摆脱困境。
这是我的网址
http://mysite.local/media/catalog/product/cache/1/thumbnail/56x/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg
我想用“图片”替换“缩略图/56x”
http://mysite.local/media/catalog/product/cache/1/image/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg
如何使用正则表达式?
【问题讨论】:
-
类似url.replace("thumbnail/56x", "image");。 Fiddle.
标签:
javascript
php
jquery
regex
【解决方案1】:
thumbnail\/56x 正则表达式会将链接中的确切 thumbnail/56x 部分替换为图片。
> "http://mysite.local/media/catalog/product/cache/1/thumbnail/56x/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg".replace(/thumbnail\/56x/g, "image")
'http://mysite.local/media/catalog/product/cache/1/image/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg'
thumbnail\/\d+x 正则表达式会将thumbnail 部分中的任何数字(如thumbnail/673px)替换为image。
> "http://mysite.local/media/catalog/product/cache/1/thumbnail/56x/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg".replace(/thumbnail\/\d+x/g, "image")
'http://mysite.local/media/catalog/product/cache/1/image/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg'
【解决方案2】:
只需使用Javascript字符串替换功能。
尝试以下操作:
var str = "http://mysite.local/media/catalog/product/cache/1/thumbnail/56x/qewewq1312321dfde5fb8d27136e95/m/u/music6_1_1.jpg";
var res = str.replace("thumbnail/56x", "image");