【问题标题】:javascript capture substring of string using string matching and not indexesjavascript使用字符串匹配而不是索引捕获字符串的子字符串
【发布时间】:2015-10-12 21:23:29
【问题描述】:

您好,我是 Javascript 新手,我正在尝试弄清楚如何从另一个字符串中提取子字符串。

我知道 substring() 方法捕获从起始索引到结尾的字符串。

但在我的情况下,我想捕获一个从 after "val=" 一直到超级字符串末尾的字符串。

想法?

谢谢

【问题讨论】:

  • 正则表达式/val=(.*)/

标签: javascript regex string substr


【解决方案1】:

您可以使用indexOf:

var text = "something val=hello";
var result = text.substr(text.indexOf("val=") + 4);
alert(result);

或者使用您的标签建议的正则表达式:

var text = "something val=hello";
var result = /\bval=(.+)/.exec(text)[1];
alert(result);

当然,在这两种情况下,您都应该注意错误情况(例如,当val= 不在字符串中时会发生什么)。

【讨论】:

    【解决方案2】:
    var str = "val=hello world";
    var idx = str.lastIndexOf('=');
    var result = str.substring(idx + 1);
    

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      您可以使用substr / substring

      var identifier = "val=";
      var text = "your text val=foo";
      
      var value = text.substring(text.indexOf(identifier) + identifier.length);
      

      或者regular expression,例如使用字符串的方法match

      var text = "your text val=foo";
      var matches = text.match(/val=([\s\S]*)/);
      var value = matches && matches[1];
      

      【讨论】:

        猜你喜欢
        • 2019-07-22
        • 1970-01-01
        • 2019-10-10
        • 1970-01-01
        • 2015-07-16
        • 2014-11-18
        • 1970-01-01
        • 2014-05-08
        • 2013-07-11
        相关资源
        最近更新 更多