关于前端:JavaScript使用技巧三个截取字符串中的子串你用的哪个

9次阅读

共计 1475 个字符,预计需要花费 4 分钟才能阅读完成。

【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

公众号 - 归子莫,小程序 - 小归博客

正文完
 0