【问题标题】:Javascript remove substringJavascript删除子字符串
【发布时间】:2017-01-10 13:52:57
【问题描述】:

我有一个如下格式的字符串:

[text text] Text to stay

我想去掉括号和里面的文字,这样最终的字符串就是:

Text to Stay

是否可以使用正则表达式和函数替换来实现这一点?

【问题讨论】:

标签: javascript regex


【解决方案1】:

是的,你可以用替换函数和正则表达式来做,如下:

var text = "[text text] Text to stay";
var replaced = text.replace(/\[(.*)\]/, "");

检查这个sn-p:

var text = "[text text] Text to stay";
var replaced = text.replace(/\[(.*)\]/, "");

document.write(replaced);

【讨论】:

  • 这会将 "[text text] Text to ] stay" 变成 " stay"。您应该改用非贪婪匹配。
【解决方案2】:

var str = "[text text] Text to stay";
alert(str.replace(str.substr(str.indexOf('['),str.indexOf(']') - str.indexOf('[') + 1),""));

【讨论】:

    【解决方案3】:

    你可以试试这个速记。

    var text = "[text text] Text to stay";
    var updatedText = text.split('] ')[1];

    【讨论】:

      【解决方案4】:

      当文本包含 ] 时,此正则表达式也有效。

      var text = "[text text] Text to stay";
      var replaced = text.replace(/\[.*?\] /, "");
      
      document.write(replaced);

      【讨论】:

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