javascript使用字符串匹配捕获字符串的子字符串而不是索引

时间:2015-10-12 21:23:29

标签: javascript regex string substr

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

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

但在我的情况下,我想要捕获一个字符串,该字符串在“val =”之后一直到超级字符串的末尾。

想法?

由于

4 个答案:

答案 0 :(得分: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=不在字符串中时会发生什么)。

答案 1 :(得分:1)

var str = "val=hello world";
var idx = str.lastIndexOf('=');
var result = str.substring(idx + 1);

答案 2 :(得分:1)

答案 3 :(得分:1)

您可以使用substr / substring

class Counted:
   def __init__(self,word,ct=0):       
      self.word,self.counted_occurances = word,ct
   def inc(self):
      self.counted_occurances += 1 
   def __str__(self):
      return str([self.word,self.counted_occurances])

class Counter:        
    def __init__ (self,allWords):
       d = {}
       for word in allWords:
          d.setdefault(word,Counted(word)).inc()
       self.d = d
    def __getattr__(self,attr):
       return getattr(self.d,attr)
    def __str__(self):
       return str(self.d)

def counter(allwords):
    return Counter(allwords)

c =  counter("Hello World!!")
print c

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

var identifier = "val=";
var text = "your text val=foo";

var value = text.substring(text.indexOf(identifier) + identifier.length);