如何在字符串上实现“EndsWith”?
我有一个字符串
var s1 = "a,$,b,c";
我想检查另一个字符串是否以s1
结尾
所以如果我发送这些字符串,它必须返回true
w,w,a,$,b,c
^,^,^,$,@,#,%,$,$,a,$,b,c
a,w,e,q,r,f,z,x,c,v,z,$,W,a,$,b,c
对于这些false
a,$,b,c,F,W
a,$,b,c,W
a,$,b,c,$,^,,/
我如何检查它?
if (str.slice(-s1.length) == s1) {
}
或者,不那么动态和更直接:
if (str.slice(-7) == s1) {
}
使用slice()的负偏移量将从字符串末尾开始的起点减去负开始 - 在这种情况下,从结尾开始7个字符(或s1.length)。
slice() - MDC
将此添加到字符串原型很简单:
String.prototype.endsWith = function (str) {
return this.slice(-str.length) === str;
}
alert("w,w,a,$,b,c".endsWith(s1));
// -> true
这将为String添加类似Java的endsWith方法:
String.prototype.endsWith = function(suffix) {
if (this.length < suffix.length)
return false;
return this.lastIndexOf(suffix) === this.length - suffix.length;
}
你可以这样做:
"w,w,a,$,b,c".endsWith(s1) //true
获取字符串s1的长度,然后获取测试字符串的最后几位的子字符串,并查看它们是否相同。
喜欢这个:
if (s2.substring(s2.length - s1.length) == s1)
链接地址: http://www.djcxy.com/p/83899.html