前端截取字符串相关方法记录

截取字符串方法


1. substring(start,end)

截取两个指定下标 之间 的字符,下标为负数时效果等同于0。
let str = '0123456789';
str.substring(0,6)    //  012345         截取到的内容包括 开始 处的字符,但不包括 结束 处的字符。
str.substring(0)      //  0123456789     省略 结束下标 时会截取到字符串的结尾。
str.substring(6,0)    //  012345         截取到的内容包括 结束 处的字符,但不包括 开始 处的字符。

2. slice(start, end)

截取两个指定下标 之间 的字符。
下标如果为负数,-1 指字符串的最后一个字符的位置,-2 指倒数第二个字符,以此类推。
let str = '0123456789';
str.slice(0,6)    //  012345         截取到的内容包括 开始 处的字符,但不包括 结束 处的字符。
str.slice(0)      //  0123456789     省略 结束下标 时会截取到字符串的结尾。
str.slice(6,0)    //  ''             结束下标 小于 开始下标 时返回空值。
str.slice(-2)     //  89             负数表示从尾部截取多少个字符串。
str.slice(-6,-2)  //  4567           即从右往左数第6位截取到从右往左数第2位。

slice()还可用于截取数组。

3. substr(start,length)

从指定下标开始,向后截取指定长度的字符,由于ECMAscript 没有对该方法进行标准化,因此不建议使用它。
下标如果为负数,-1 指字符串的最后一个字符的位置,-2 指倒数第二个字符,以此类推。
let str = '0123456789';
str.substr(0,6)      //  012345		   截取到的内容包括 开始 处的字符,但不包括 结束 处的字符。
str.substr(0)        //  0123456789    省略 长度 时会截取到字符串的结尾。
str.substr(6,0)      //  ''            长度 为 0 时返回空值。
str.substr(-2)       //  89            负数表示从尾部截取多少个字符串
str.substr(-2,1)     //  8

4. charAt(index)

截取指定下标的字符,下标不可为负数。
let str = '0123456789';
str.charAt(6)  // 6

获取下标方法,可与截取搭配使用


1. indexOf(searchvalue,fromindex)

返回某个指定的字符串值在字符串中首次出现的位置,默认从头开始检索。如果没有找到匹配的字符串则返回 -1
let str = '01234567890123456789';
str.indexOf('6')  		// 6				字符'6'从首字符开始首次出现的位置
str.indexOf('6',7)  	// 16				字符'6'从第七个字符开始首次出现的位置
str.indexOf('3456',7)  	// 13				字符串'3456'从第七个下标开始首次出现的位置,以结尾字符位置为准

2. lastIndexOf(searchvalue,fromindex)

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置(默认末尾)从后向前搜索。
let str = '01234567890123456789';
str.lastIndexOf('6')  		// 16				字符'6'从末尾开始首次出现的位置
str.lastIndexOf('6',7)  	// 6				字符'6'在前七个字符中从末尾开始首次出现的位置
str.lastIndexOf('6',16)  	// 16				字符'6'在前16个字符中从末尾开始首次出现的位置
str.lastIndexOf('3456',7)  	// 3				字符串'3456'在前七个字符中从末尾开始开始首次出现的位置,以开始字符位置为准

特别补充方法

1. split(separator,limit)

 使用一个指定的分隔符把一个字符串分割存储到数组
let str = "str1,str2,str3,str4,str5,str6";
let arr = str.split(",");					//通过 ',' 将字符串分割储存到数组
//arr:["str1", "str2", "str3", "str4", "str5", "str6"]
let arr = str.split(",",4);					//通过 ',' 将字符串分割储存到数组,限制数组最大长度为4 
//arr:["str1", "str2", "str3", "str4"]

2. join(separator)

通过指定的分隔符将一个数组中的所有元素合并为一个字符串
let arr = ["str1", "str2", "str3", "str4", "str5", "str6"];
let str = arr.join(",");					//通过 ',' 将数组中的所有元素合并为一个字符串				
//str :"str1,str2,str3,str4,str5,str6"
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值