JavaScript截取字符串的几种方法

1.split()

split()用于把一个字符串分割成字符串数组

stringObject.split(separator,howmany)
参数说明:
  • separator参数:必需填。字符串或正则表达式,从该参数指定的地方分割 stringObject。

  • howmany参数:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

2.slice()

slice()可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分,前闭后开

stringObject.slice(start, end)
参数说明:
  • start(必需):规定从何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个字符,-2 指倒数第二个字符,以此类推。

  • end(可选):规定从何处结束选取,即结束处的字符下标。如果没有指定该参数,那么截取的字符串包含从 start 到结束的所有字符。如果这个参数是负数,那么它规定的是从数组尾部开始算起的字符。

注意事项:
  • start比end大的话,返回空字符串;

  • 如果start与end相等,返回空字符串

代码展示:

 

let string = '0123456789';
let strSplit = string.slice(0, -1);//012345678
let strSplit1 = string.slice(3, 5);//34
let strSplit2 = string.slice(5, 3);
console.log(strSplit2.length);//0
let strSplit3 = string.slice(5, 5);
console.log(strSplit3.length);//0

 3.substring()

substring()用于提取字符串中介于两个指定下标之间的字符 前闭后开

stringObject.substring(start, stop)
参数说明:
  • start(必需):一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

  • stop(可选):一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

注意事项:
  • 如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

  • 如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

  • 如果 start 或 end 为负数,那么它将被替换为 0。

 代码展示:
let string = '0123456789';
let strSubString = string.substring(5, 2);//234
let strSubString1 = string.substring(3, 5);//34      相当于string.substring(3, 5)
let strSubString2 = string.substring(5, -1);//01234  相当于string.substring(5, 0)
let strSubString3 = string.substring(5, 5);
console.log(strSubString3.length);//0

 4.substr

substr()用于返回一个从指定位置开始的指定长度的子字符串

stringObject.substr(start, length)
参数说明:
  • start(必需):所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

  • length(可选):在返回的子字符串中应包括的字符个数。

注意事项:
  • 如果 length 为 0 或负数,将返回一个空字符串。

  • 如果没有指定 length,则子字符串将延续到 stringObject 的最后。

  • 如果 start为负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个字符,-2 指倒数第二个字符,以此类推

 代码展示:
let strSubStr = string.substr(2, 5); //23456
let strSubStr1 = string.substr(2, 0);
console.log(strSubStr1.length);//0
let strSubStr2 = string.substr(2, -1);
console.log(strSubStr2.length);//0
let strSubStr3 = string.substr(2);//23456789
let strSplit4 = string.substr(-1);//9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值