【问题标题】:How to replace a particular string in js如何替换js中的特定字符串
【发布时间】:2017-12-09 02:51:20
【问题描述】:

我有一个包含以下数据的变量

预计间皮瘤发病率将在 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>'). 

谁能给我建议。谢谢。

【问题讨论】:

  • str.replace('img', 'amp-img').replace('/&gt;', '&lt;/amp-img&gt;')一样在末尾链接另一个replace怎么样?
  • @Andrew,我可能有很多“/>”标签。

标签: javascript html angularjs node.js


【解决方案1】:

你可以粗略地使用这个方法;

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

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

【讨论】:

    【解决方案2】:

    关于这个……

    ...

    <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 变量的内容所做的更改。

    希望有所帮助:)

    【讨论】:

      【解决方案3】:

      这会将最后一个结束标记替换为您想要的:

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

      【讨论】:

        【解决方案4】:

        如果您拥有的是一个字面上包含:&lt;img src="test" /&gt; 的字符串,那么您可以使用:

        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 节点,而不是将标记解析为字符串。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-11-20
          • 1970-01-01
          • 2012-08-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多