如何检查一个字符串“StartsWith”是否是另一个字符串?
我如何在JavaScript中编写相当于C#的String.StartsWith
?
var haystack = 'hello world';
var needle = 'he';
//haystack.startsWith(needle) == true
注意:这是一个老问题,正如ECMAScript 2015(ES6)中引入.startsWith
方法的评论中指出的那样。 但是,在撰写此更新(2015年)时,浏览器支持还远未完成。
您可以使用ECMAScript 6的String.prototype.startsWith()
方法,但它尚未在所有浏览器中受支持。 您需要使用Shim / polyfill将其添加到不支持它的浏览器上。 创建符合规范中规定的所有细节的实现有点复杂,并且此答案中定义的版本不会执行; 如果你想要一个忠实的垫片,使用:
String.prototype.startsWith
垫片或 String.prototype.startsWith
。 一旦你完成了这个方法(或者你只支持已经有的浏览器和JavaScript引擎),你可以像这样使用它:
"Hello World!".startsWith("He"); // true
var haystack = "Hello world";
var prefix = 'orl';
haystack.startsWith(prefix); // false
.lastIndexOf
另一种替代.lastIndexOf
:
haystack.lastIndexOf(needle, 0) === 0
这看起来向后通过haystack
对于发生needle
从指数开始0
的haystack
。 换句话说,它只检查haystack
是否以needle
开始。
原则上,这应该比其他方法具有性能优势:
haystack
。 data.substring(0, input.length) === input
链接地址: http://www.djcxy.com/p/12835.html
上一篇: How to check if a string "StartsWith" another string?
下一篇: when to use which