substr()、substring()、slice()方法的用法与区别

概括

substr()、substring()、slice()三种方法都可以用于字符串截取,其中slice()可以用于数组。简单用法比较如下:

var str = 'Hello, javascript!'
str.substr(1,4)   // "ello"
str.substring(1,4)   // "ell"
str.slice(1,4)   // "ell"

var arr = ["Mike", "Cameron", "Tom", "Jack"]
arr.slice(1,3)   // ["Cameron", "Tom"]

接下来是每个方法的详细用法:

一、substr()

substr()方法可以从指定下标开始截取指定长度的字符串

string.substr(start,length)// start 必需,length 可选
start: 必需。开始下标,如果是负数,从字符串尾部开始截取。
length: 可选。要截取的字符数。省略该参数,贼返回start到结尾的所有字符。

注:ECMAscript 没有对该方法进行标准化,因此反对使用它。

例子:

var str = 'Hello, javascript!'
str.substr(1,4)   // "ello"
str.substr(1)     // "ello, javascript!"
str.substr(-3,2)  // "pt"
str.substr(-3)    // "pt!"

二、substring()

substring()方法可以用于提取字符串中介于两个指定下标之间的字符

(注:返回的包含开始处的字符,但不包含结束处的字符)

string.substring(from, to)// 都是正整数,其中from必需,to可选,省略 to 返回from到结尾的所有字符

例子:

var str = 'Hello, javascript!'
str.substring(1,4)   // "ell"
str.substring(1)     // "ello, javascript!"

三、slice()

  1. slice()方法可以从已有数组中返回选定的元素。(不改变原数组)
  2. slice()方法可以提取字符串的某个部分,并以新的字符串返回被提取部分。

slice(start, end) // 都可以是负数。start必需,end可选。
start 规定开始下标,如果是负数,从数组/字符串尾部开始算起。
end 规定结束下标(返回时,不包含该元素),如果是负数,从数组/字符串尾部开始算起。

例子:

var str = 'Hello, javascript!'
str.slice(1,4)   // "ell"
str.slice(1)     // "ello, javascript!"
str.slice(-3,-1) // "pt"
str.slice(-3)    // "pt!"

var arr = ["Mike", "Cameron", "Tom", "Jack"]
arr.slice(1,3)   // ["Cameron", "Tom"]
arr.slice(1)     // ["Cameron", "Tom", "Jack"]
arr.slice(-3,-1) // ["Cameron", "Tom"]
arr.slice(-3)    // ["Cameron", "Tom", "Jack"]
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值