javascript正则表达式替换路径字符串中的3digitis
javascript regular expression replace 3digitis from path string
我有一个<img>
,需要更改路径中的两位数字。我不知道如何写正则表达式。
<img src="/cms/ig/immopix/100/9165c73366c8830058b0f95c0fcacef5_100.jpg" />
^ ^
| |
------------------------------------
|
replace those "1" in "6"
so it looks like this
------------------------------------
| |
<img src="/cms/ig/immopix/600/9165c73366c8830058b0f95c0fcacef5_600.jpg" />
img名称是一个md5值,它也可以包含"100",所以我不能只替换每个"100"。我该怎么做?
因此,DOM中有一些img标记,我像这样循环
$('.object-overview-wrap').each(function(i){
var img = $(this).children('.img-wrap').children('img');
console.log(img.attr('src'));
var imgSrc = img.attr('src');
img.attr('src', '/cms/ig/immopix/600/88f9f658ed1d506ce36b28565b79405f_600.jpg');
});
console.log给了我:/cms/ig/inmopix/100/9165c73366c8830058b0f95c0fcachef5_100.jpg,我想替换它,但我不知道怎么替换。
非常感谢解释如何编写和使用正则表达式的帮助和链接!
您可以用"/600/"
替换"/100/"
,然后用"_600."
替换"_100."
。
Regexes当然可以在这里工作,但这样更简单。
这应该适用于您的案例:
var s='<img src="/cms/ig/immopix/100/9165c73366c8830058b0f95c0fcacef5_100.jpg" />';
var r = s.replace(/100'b/g, "600");
//=> <img src="/cms/ig/immopix/600/9165c73366c8830058b0f95c0fcacef5_600.jpg" />
或者更严格:
var r = s.replace(/([/_])100'b/g, "$1600");
//=> <img src="/cms/ig/immopix/600/9165c73366c8830058b0f95c0fcacef5_600.jpg" />
我的方法是:避免正则表达式。也许使用这个:
var mystring = srcString.split('/');
mystring[4]=600;
mystring[5] = mystring[5].split('_')[0] + '_' + '600.jpg';
mystring.join('/');
或者类似的。使用split
和join
很有趣。但是一个简单的替换在这里也起作用
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JavaScript按钮/输入/函数,字符串反转
- 从查询字符串参数推断出正确的数据类型
- 高亮显示与数组字符串一起使用时文本插件中断
- javascript正则表达式替换路径字符串中的3digitis