一次性搞懂JS字符串截取方法substring()、slice()以及substr()的用法和区别
substring()和slice()都接受两个参数,“start”和“end”。
“start”表示截取的开始位置,“end”表示结束的位置(不包括该位置的字符,也就是前要后不要)。
如果不传参数,则返回字符串本身的一个副本。
如果只传一个参数,则从该位置开始,截取到字符串的末尾。
如果传递两个参数,则遵循前要后不要原则。
如果第二个参数大于等于字符串长度,则和不传第二个参数效果是一样的。
二者的不同点在于对负数的处理。
substring()不支持负数参数。如果传递负数作为参数,该方法会将其作为0处理。如果只传递一个负数,则返回字符串的副本,如果传递两个负数,则返回空字符串。
还有一点需要注意:如果参数“start”大于“end”,substring会交换两个参数,将较小的作为起点,将较大的作为终点。
slice()方法传入的负数表示从字符串末尾开始计算位置。注意:-1表示字符串的最后一个字符,-2表示倒数第二个字符,以此类推。
另外一个方法,substr()也接受两个参数。“start”和“length”。
“start”表示截取的起始位置,可以为正数,也可以是负数。如果是正数,表示从字符串的开头开始计算,负数则从末尾计算。最后一位是-1,以此类推。
“length”表示截取的字符数量。不传则是截取到字符串的末尾。
以上。
posted on 2023-09-22 11:12 hanguahannibk 阅读(297) 评论(0) 编辑 收藏 举报