在js中,如何获取到两个指定字符之间的字符串?我们想到的是用正则表达式来匹配截取。
假如:有一个字符串abcdefghijk,我们需要截取b和j之间的字符串。用match方法实现,代码:
var str = "abcdefghijk"; var substr = str.match(/b(\S*)j/); console.log(substr);
返回结果为:["bcdefghij", "cdefghi"]
()里的\S*表达式匹配所有字符串。
还有一种方法:
在高级语言里,我们会用一个叫数量词的概念:
(?=j)这表示以j结尾的前面的字符串,但不包括j
var str = "abcdefghijk"; var substr = str.match(/(\S*)(?=j)/); console.log(substr);
返回结果为:["abcdefghi", "abcdefghi"]
(b=?)这表示以b开头的字符串,但不包括b
var str = "abcdefghijk"; var substr = str.match(/(b=?)(\S*)/); console.log(substr);
返回结果为:["bcdefghijk","b","cdefghijk"]
综合一下:
var str = "abcdefghijk"; var substr = str.match(/(b=?)(\S*)(?=j)/); console.log(substr);
返回结果为:["bcdefghi","b","cdefghi"]
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/1064.html