JavaScript 中的字符串切片操作(slice、substr、substring)

本文详细解析了JavaScript中的str1.slice(), str1.substr()和str1.substring()函数的用法,包括参数解读、负数处理以及特殊情况下的空字符串返回。重点讲解了它们在截取字符串时的区别和行为。
摘要由CSDN通过智能技术生成

传入参数的时候

// 首先定义一个字符串
var str1 = 'Hello World!'
console.log(str1.slice(4))        //  o World!
console.log(str1.substr(4))        //  o World!
console.log(str1.substring(4))        //  o World!
//第一个参数是起始位置  第二个是结束位置  顾头不顾尾  
onsole.log(str1.slice(2, 4))      //  'll'
console.log(str1.substring(2, 4))      //  'll'
//第二个参数是返回的字符数
console.log(str1.substr(2, 4))      //  'llo Wo'
// 如果第一个参数为负数,则以该参数与字符串的长度的和为起始下标,截取第二个参数长度,直到截取超过长度范围
console.log(str1.substr(-4, 3))      //  相当于 str1.substr(8,3)      即为 'rld'
console.log(str1.substr(-3, 5))      //  相当于str1.substr(9, 5)     即为 'ld!'
// 在传入的参数为负数的时候,substring 会把负数参数换算成 0,如:
console.log(str1.substring(-3))      // 相当于 str1.substring(0)    即为 'Hello World!'

// 如果是两个参数中有一个为负数的话,则会将该负数参数换算成  0,并把该参数作为起始位置,另一个非负参数,作为终止位置,比如:
console.log(str1.substring(-4, 5))      //  相当于 str1.substring(0, 5)    即为 'Hello'
console.log(str1.substring(5, -6))      //  相当于    str1.substring(0, 5)    即为 'Hello' 

注意,如果这个参数如果大于过等于字符串的长度,则返回值为空字符串

console.log(str1.slice(12))      //  ""
console.log(str1.substr(12))      //  ""
console.log(str1.substring(12))      //  ""

注意,如果这个参数如果大于过等于字符串的长度,则返回值为空字符串

console.log(str1.slice(12))      //  ""
console.log(str1.substr(12))      //  ""
console.log(str1.substring(12))      //  ""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值