前端字符串方法小总结

227 阅读2分钟

js 字符串截取slice,substr,substring

slice()字符串截取方法。

一个参数的写法,就是从这个下标位置开始一直截取到字符串的末尾
console.log(a.slice(2)) //hello =>llo

两个参数的写法,就是从第一个下标位置开始一直截取到第二个参数-1的位置。
console.log(a.slice(1,2)) //hello =>e
逆向截取的写法,

console.log(a.slice(-3,-2)) //helloqwe =>q (从后下标位置开始)

注意:
第一个参数为负数的写法:无法截取!!!
第一个参数大于第二个参数的写法 无法截取!!!!!

substr()字符串截取方法。

第一个参数的写法,就是从下标位置开始一直截取到字符串的末尾。
两个参数的写法,从第一个参数的下标开始,第二个参数代表的意思为截取的个数。
** 截取的长度,大于0的正整数**
console.log(a.substr(4,3)) //helloqwert =>oqw
逆向截取
console.log(a.substr(-6,3)) //helloqwert =>oqw
console.log(a.substr(-7,5)) //helloqwert =>loqwe

substring()字符串截取方法。

第一个参数的写法,就是从下标位置开始一直截取到字符串的末尾。
两个参数的写法,就是从第一个下标位置开始一直截取到第二个参数-1的位置。
第一个参数为负数的写法,和slice一样,会自动的将一个负数值无论是负几,都会变成0, console.log(a.substring(-5,3)) //0,3 =>0,2 (-1)

第一个参数大于第二个参数的写法和slice完全不同。自动会将两个参数颠倒位置。
逆向截取的写法:
console.log(a.substring(-2)) //helloqwert =>helloqwert (无效果) console.log(a.substring(a.length-2)) 想要倒着截取,只能使用长度-数量。

substr,substring, slice相同点和不同点总结。

相同点
如果是一个参数,无论哪个方法都是从这个参数下标一直截取到字符串末尾。

不同点:
如果两个参数且第一个参数小于第二个参数的话
那么针对substring slice 都是从第一个参数开始截取到第二个参数下标-1的位置
但是substr就是从第一个参数到第二个参数的个数。
如果两个参数且第一个参数大于第二个参数值
slice无法获取字符串,对于substring 自动将两参数颠倒位置。
如果第一个参数的值为负数的话,
针对slice,第一个参数+整体的字符串长度(第二个参数,如果小于则有值,否则没有结果。
针对substring 自动将第一个负数换成0