如何找到子串javascript

时间:2016-05-25 12:25:24

标签: javascript

我有一个类似var myStr = 'Foo Faa {{Foo1234Faa789863Whateva}}'的字符串。我不知道大括号之间有什么,我想通过像'{{Foo1234Faa789863Whateva}}'那样找出子串myStr.search('{{anycharacter}}')。请帮帮我怎样才能做到这一点?

2 个答案:

答案 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"

对我来说感觉更有效率,没有做哪个更好的测试,如果你做性能测试就发表评论;)