如何replacejs中的特定string

我有一个variables与以下数据

间皮瘤发病高峰预计将在2014年至2021年间在澳大利亚,2011年至2015年在英国,2015年至2024年在意大利,2010年在美国,2015年在丹麦,2017年在荷兰,并在2027年在日本。

在这里我想replace

<img src="test" /> 

 <amp-img src="test"></amp-img> 

但是在这里,我以100个logging的数据为例,

  <img src="test" /> 

但我不知道我的img标签包含了什么。所以我van用imgreplace

 replace('<img',<amp-img>); 

但是,我怎样才能取代结束标签即

  ('/>','></amp-img>'). 

任何人都可以请build议我help.Thanks。

你可以粗略的使用这个方法。

 $("amp-img").replaceWith("<img src=\"test\"/>"); 

http://api.jquery.com/replacewith/

关于这个…

 <img src="test" /> 

但我不知道我的img标签包含了什么。所以我van用imgreplace

 replace('<img',<amp-img>); 

JavaScriptstringreplace方法有两个参数,第一个是正则expression式或一个确切的string,第二个是replacestring或函数。 如果您只需要进行一个特定的更改,那么使用string作为参数是可行的,多个“replace者”可以链接到更复杂的操作。

所以这…

 var sampleString = '<img src="test" />'; 

..可以'replace'像这样…

 var newString = sampleString.replace('<img','<amp-img') .replace(' />','</amp-img>'); 

newStringvariables现在包含您对sampleStringvariables的内容所做的更改。

希望帮助:)

这将取代你想要的最后一个结束标签:

 sampleString.replace(sampleString.slice(sampleString.lastIndexOf(' />')), '></amp-img>'); 

如果你有一个string,字面上包含: <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对象,那么你应该单独replaceDOM节点,而不是将标记parsing为string。