var longString = "this string is long but why"
var shortString = "but why"
如何测试 shortString 是否不仅包含在 longString 中,而且实际上是字符串的最后一部分。
我使用 indexOf == 0
来测试字符串的开头,但是不确定如何获取其结尾。
var longString = "this string is long but why"
var shortString = "but why"
如何测试 shortString 是否不仅包含在 longString 中,而且实际上是字符串的最后一部分。
我使用 indexOf == 0
来测试字符串的开头,但是不确定如何获取其结尾。
如果是 JavaScript,您不需要使用正则表达式,只需执行以下操作:
longString.endsWith(shortString)
endsWith()
似乎是通过外部库添加的。 - ptierno如果您需要正则表达式,可以使用以下方法:
var matcher = new RegExp(shortString + "\$", "g");
var found = matcher.test(longString );
$
符号需要进行转义。同时,在单行代码中不需要进行全局检查。 - ptiernomatch
从shortString
中构建一个regex
并进行测试: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);