我有一个包含以下数据的变量
间皮瘤发病率预计将于2014年至2021年间在澳大利亚发生,2011年至2015年在英国,2015年至2024年在意大利,2010年在美国,2015年在丹麦,2017年荷兰,2027年在日本。
我想替换
<img src="test" />
要
<amp-img src="test"></amp-img>
但是我在这里得到了100条记录的数据,作为我的例子
<img src="test" />
但我不确定我的img标签包含什么。所以我用替换img
replace('<img',<amp-img>);
但是如何替换结束标签,即
('/>','></amp-img>').
任何人都可以建议我帮忙。谢谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
关于这个......
...
<img src="test" />
但我不确定我的img标签包含什么。所以我用替换img
replace('<img',<amp-img>);
...
JavaScript String Replace方法有两个参数,第一个是正则表达式或精确字符串,第二个是替换字符串或函数。如果你只需要做一个特定的更改,那么使用字符串作为两个参数是可行的方法,并且可以链接多个“替换者”以进行更复杂的操作。
所以这......
var sampleString = '<img src="test" />';
..可以像这样'替换'......
var newString = sampleString.replace('<img','<amp-img')
.replace(' />','</amp-img>');
newString
变量现在包含您对sampleString
变量内容所做的更改。
希望有所帮助:)
答案 2 :(得分:0)
这将用您想要的内容替换最后一个结束标记:
sampleString.replace(sampleString.slice(sampleString.lastIndexOf(' />')), '></amp-img>');
答案 3 :(得分:0)
如果您拥有的字符串实际上包含:<img src="test" />
,那么您可以使用:
string = string.replace(/<img\s+(.*?)\s*\/>/g, '<amp-img $1></amp-img>');
甚至:
string = string.replace(/<img\s+([^>]*?)\s*\/>/g, '<amp-img $1></amp-img>');
不要按照此处的建议单独替换结束标记:
string.replace(' />','</amp-img>')
因为那会破坏你不想要替换的其他标记的所有其他标记(在这种情况下,如果你在斜杠之前没有空格也不会有效 - 这是完全有效的,应该预期)。
如果您拥有的是DOM对象,那么您应该单独替换DOM节点,而不是将标记解析为字符串。