关于js截取字符串函数 substr substring slice 的用法以及区别

关于js截取字符串函数 substr substring slice 的用法以及区别

1.substring( startIndex, endIndex ) 返回从索引startIndex 开始 到索引 endIndex之前的字符串。

注意:

  • 如果两个参数相等则返回空字符串
  • 如果只传一个参数,那么将从该位置截取到字符串末尾
  • 如果第一个参数 > 第二个参数,那么执行的过程中会判断两个参数的大小,然后从小的索引截取到大的索引
  • 如果不传参数,那么将返回原字符串
  • 如果其中一个参数是0,那么它将被当做0
let str = 'expression';
console.log( str.substring( 2, 5 ) ); // 'pre'
console.log( str.substring( 5, 2 ) ); // 'pre'
console.log( str.substring() ); // 'expression'
console.log( str.substring( 5, -3 ) ); // 'expre'

2.slice( startIndex, endIndex )返回从索引startIndex 开始 到索引 endIndex之前的字符串。

用法与substring很相似,主要看一下区别:

  • 不会在执行过程中判断索引大小从而把小的放在前,如果第一个参数 > (字符串长度 - 1),那么将返回undefined
  • 如果某个参数为负数,那么他将会加上字符串长度来计算,如果 startIndex 加上字符串长度之后还是负数,那么会默认从索引0开始截取
let str = 'expression';
console.log( str.slice( 15, 3 ) ); // undefined
console.log( str.slice( -19, -1 ) ); // 'expressio'

3.substr( startIndex, count )从索引 startIndex 开始,截取 count 个字符串

注意:

  • 如果startIndex >= 字符串的长度,那么将返回空字符串
  • 如果startIndex是负数,那么加上字符串长度计算,如果还是负数,那么从索引0开始截取
  • 如果是count 是个负数或者为0,那么将返回空字符串
  • 如果未传 count 参数,那么将默认从索引 startIndex 截取到字符串末尾
let str = 'expression';
console.log( str.substr( 12, 3 ) ); // ''
console.log( str.substr( -7, 2 ) ); // 're'
console.log( str.substr( -20, 3 ) ); // 'exp'
console.log( str.substr( 5, 0 ) ); // ''
console.log( str.substr( 5 ) ); // 'ssion'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为您解答这个问题。 在 HTML5 中,截取字符串的方法与 JavaScript 中的截取字符串方法是一致的。常用的截取字符串的方法有 substringsubstrslice。 1. substring 方法 substring 方法可以从字符串中提取指定位置的子字符串。语法如下: str.substring(start, end) 其中,start 和 end 分别是起始位置和结束位置的索引值(包括起始位置,不包括结束位置),如果省略 end 数,则默认截取到字符串末尾。 例如: var str = "Hello world!"; var result = str.substring(0, 5); // 截取 "Hello" var result2 = str.substring(6); // 截取 "world!" 2. substr 方法 substr 方法可以从字符串中提取指定长度的子字符串。语法如下: str.substr(start, length) 其中,start 是起始位置的索引值,length 是要截取的长度。如果省略 length 数,则默认截取到字符串末尾。 例如: var str = "Hello world!"; var result = str.substr(0, 5); // 截取 "Hello" var result2 = str.substr(6); // 截取 "world!" 3. slice 方法 slice 方法可以从字符串中提取指定位置的子字符串。语法如下: str.slice(start, end) 其中,start 和 end 分别是起始位置和结束位置的索引值(包括起始位置,不包括结束位置),如果省略 end 数,则默认截取到字符串末尾。 例如: var str = "Hello world!"; var result = str.slice(0, 5); // 截取 "Hello" var result2 = str.slice(6); // 截取 "world!" 这三种方法都可以截取字符串,但是它们有些细微的差别。substringslice 方法的数都是以索引值表示位置,而 substr 方法的第二个数是以长度表示位置。另外,substring 方法不支持负数数,slice 方法支持负数数。您可以根据具体的需求选择使用哪种方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值