前端截取字符串相关方法记录
- 截取字符串方法
- 1. substring(start,end)
- 2. slice(start, end)
- 3. substr(start,length)
- 4. charAt(index)
- 获取下标方法,可与截取搭配使用
- 1. indexOf(searchvalue,fromindex)
- 2. lastIndexOf(searchvalue,fromindex)
- 特别补充方法
- 1. split(separator,limit)
- 2. join(separator)
截取字符串方法
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"