javascript关于字符串截取的三种方法 substr substring slice
slice,substring,substr都可以用来做js的字符串的截取,其实我个人将其分成两类(反正方便我这种正在学习的童鞋),一类是slice和substring,另一类就是substr,详细介绍下:
1、第一类:slice和substring
slice(start,[end+1]),其中start表示你要截取的开始位置,end是你想要截取的子串的最后一个字符在原字符串的位置,但在传参时一定不能忘记加上1。
var str="asrthhje"; var newstr=str.slice(2,4+1); console.log(newstr);// 输出rth
这里我用一个newstr去接这个值,说明原来主串str是不会发生任何改变的。
其中[]表示可选参数,slice(strart),表示从开始位置一直截取到最后。
var str="asrthhje"; var newstr=str.slice(2); console.log(newstr);//输出rthhje
参数可以是负数,负数表示从字符串最右边开始数,最右边的注意是-1,一定要注意!!!当然负数其实也是可以转换成正数的,负数+字符串的长度就是正数。例如:hello,-4是‘4’,-4+5(长度)=1,还是‘e’
var str="asrthhje"; var newstr=str.slice(2,-2); console.log(newstr);//输出rthh
接下来说substring,为什么放在一组,它和slice用法差不多,但是有一个区别就是参数是负数的时候,substring(start,[end+1])(注意这里start,end+1均为正数时和slice用法一样),当其参数是负数是,负数变成0,并且参数由小到大排序,例如substring(2,-2),会变成substring(0,2)((2,-2)变成(2,0)变成(0,2)),举两个例子大家就明白了。
var str="asrthhje"; var newstr=str.substring(2,4+1); console.log(newstr);// 输出rth
var str="asrthhje"; var newstr=str.substring(2,-2); console.log(newstr);// 输出as
2.substr(strat,length),substr比较简单,start表示你要截取的开始位置,length表示截取的长度
var str="asrthhje"; var newstr=str.substr(2,5); console.log(newstr);// 输出rthhj
浙公网安备 33010602011771号