slice,substring以及substr的区别

slice和substring,这两种方法都返回要处理的字符串的子串,都使用一个或两个参数,第一个参数是要获取的子串的起始位置,第二个参数是要获取子串终止前的位置,也就是说,获取终止位置处的字符不包括在返回的值内。如果省略第二个参数,终止位就默认为字符串的长度;都不改变String对象自身的值,只返回原始的String值,保持String状态不变;
对于负数参数,
slice 方法会用字符串的长度 加上参数,当只有一个参数且参数是负数时,x为正数,slice("-x")会转换为slice("字符串长度x"),当有两个参数x,y时,slice("x,-y")会转换为slice("x,x+y");
substring方法会将负数作为 0 处理,当只有一个参数且参数是负数时,substring("-x")会转换为substring("0"),当有两个参数x,y时,substring("x,-y")会转换为substring("x,0"),但substring总把较小的数字作为起始位,较大的数字作为终止位,所以是substring(0, x);
substr的参数指定的是子串的开始位置和长度
subtr()的第一个参数必须是数值,如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
第二个参数是子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值