如何测试字符串是否是另一个字符串的最后一个“部分”?

时间:2015-05-07 18:15:33

标签: javascript regex string indexof

var longString = "this string is long but why"
var shortString = "but why"

我如何测试shortString是否不仅包含在longString中,而且实际上是字符串的最后一部分。

我使用indexOf == 0来测试字符串的开头但不确定如何结束字符串

3 个答案:

答案 0 :(得分:5)

您不需要正则表达式,如果它是javascript,您可以这样做:

longString.endsWith(shortString)

答案 1 :(得分:2)

如果您需要正则表达式,可以使用以下内容:

var matcher = new RegExp(shortString + "\$", "g");
var found = matcher.test(longString );

答案 2 :(得分:1)

您可以从regex构建shortString并使用match进行测试:

var longString = "this string is long but why";
var shortString = "but why";
// build regex and escape the `$` (end of line) metacharacter
var regex = new RegExp(shortString + "\$");
var answer = regex.test(longString);
// true
console.log(answer);

希望这有帮助