您好我是Javascript的新手,我正在试图弄清楚如何从另一个字符串中提取子字符串。
我知道substring()方法从起始索引到结尾捕获字符串。
但在我的情况下,我想要捕获一个字符串,该字符串在“val =”之后一直到超级字符串的末尾。
想法?
由于
答案 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)
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);