我有一个类似var myStr = 'Foo Faa {{Foo1234Faa789863Whateva}}'
的字符串。我不知道大括号之间有什么,我想通过像'{{Foo1234Faa789863Whateva}}'
那样找出子串myStr.search('{{anycharacter}}')
。请帮帮我怎样才能做到这一点?
答案 0 :(得分:3)
使用此
var myStr = 'Foo Faa {{Foo1234Faa789863Whateva}}'
var match = myStr.match(/{{(.*)}}/)
if (match) {
console.log(match[1]);
}
答案 1 :(得分:2)
除了@ SGSVenkatesh的回答
match()
是一个不错的选择,但是如果您知道只有第一个匹配符合您的要求,则可以使用2个split()
函数进行匹配。
var myStr = 'Foo Faa {{Foo1234Faa789863Whateva}}';
var strSplit = myStr.split("{{");
var strSplit2 = strSplit[1].split("}}");
console.log(strSplit2[0]);
// logs "Foo1234Faa789863Whateva"
你可以把它变成一个函数;
function getFirstMatch(beginsWith, endsWith, myStr){
var strSplit = myStr.split(beginsWith);
var strSplit2 = strSplit[1].split(endsWith);
return strSplit2[0];
}
//usage
console.log(getFirstMatch("{{", "}}", "Foo Faa {{Foo1234Faa789863Whateva}}"));
// logs "Foo1234Faa789863Whateva"
对我来说感觉更有效率,没有做哪个更好的测试,如果你做性能测试就发表评论;)