【JavaScript 应用技巧】三个截取字符串中的子串,你用的哪个
博客阐明
文章所波及的材料来自互联网整顿和集体总结,意在于集体学习和教训汇总,如有什么中央侵权,请分割自己删除,谢谢!
slice() 截取
阐明
通过指定的开始和完结地位,提取字符串的某个局部,并以 新的字符串 返回被提取的局部。
语法
stringObject.slice(start, end)
参数阐明
start(必须):规定从何处开始选取。
如果是正数,那么它规定从字符串尾部开始算起的地位。
end(可选):规定从何处完结选取,即完结处的字符下标。
如果没有指定该参数,那么截取的字符串蕴含从 start 到完结的所有字符。如果这个参数是正数,那么它规定的是从数组尾部开始算起的字符。
示例
var str = "0123456789";
str.slice(0,5); // 01234
str.slice(3); //3456789
str.slice(3,5); //34
str.slice(-3); //789
substring()截取
阐明
提取字符串中介于两个指定下标之间的字符,返回一个 新的字符串。
语法
stringObject.substring(start, stop)
参数阐明
start(必须):一个 非负的整数,留神是非负的整数。
标识了要提取的子串的第一个字符在 stringObject 中的地位。
stop(可选 ):一个 非负的整数,留神是非负的整数。
比要提取的子串的最初一个字符在 stringObject 中的地位多 1(至多为一个字符)。
var str = "0123456789";
str.substring(3,5); //34
str.substring(3); //3456789
留神:
如果 start 与 end 相等,那么该办法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该办法在提取子串之前会先替换这两个参数。
如果 start 或 end 为正数,那么它将被替换为 0。
substr() 截取
阐明
substr 办法用于 返回一个从指定地位开始的指定长度的子字符串。这里留神第二个参数是长度,而不是完结的地位。
语法
stringObject.substr(start, length)
参数阐明
start(必须):所需的子字符串的起始地位。
字符串中的第一个字符的索引为 0。
length(可选):在返回的子字符串中应包含的字符个数。
var str = "0123456789";
str.substr(3,5); //34567
str.substr(3); //3456789
留神:
如果 length 为 0 或正数,将返回一个空字符串
如果没有指定 length,则子字符串将连续到 stringObject 的最初
如果 start 或 length 为正数,那么它将被替换为 0
比照和记忆
其实我猜大多数 pym 都晓得这个三个办法,然而这三个办法的区别总是有些把持不住的样子。
给一段代码,好比照。
var str = "0123456789";
str.slice(3,5); //34
str.substring(3,5); //34
str.substr(3); //3456789
slice 和 substring 都有开始和完结的概念,所以在有开始和完结参数时,区别不大,substring 不反对正数,这一边有别于 slice,个别也是基于这一点来辨别应用的。
substr 只有开始和开始的数量,这种形式用的场景特定,区别也是最显著的,心愿如果记不住后面两个,那就那这个孤儿收了吧😂。
感激
万能的网络
以及勤奋的本人,集体博客,GitHub 测试,GitHub
公众号 - 归子莫,小程序 - 小归博客