一、基本介绍
在JavaScript中,字符串截取函数大概有两个常用的:substring和slice。这两个方法都可以用来截取字符串中的一部分,并且用法类似,都可以传入两个参数。它们的不同之处在于当传入的参数为负数时,slice会将其解释为从字符串末尾开始倒数的位置,而substring则会在这种情况下将传入的参数转化为0。
let str = "hello, world!"; console.log(str.substring(2, 6)); // "llo," console.log(str.slice(2, 6)); // "llo," console.log(str.substring(-3, 10)); // "hello, wo" console.log(str.slice(-3, 10)); // "lo, wo"
二、截取字符串到末尾
使用substring截取字符串时,可以只传入一个参数,表示从该位置开始一直截取到字符串末尾。下面是几个例子:
let str = "hello, world!"; console.log(str.substring(2)); // "llo, world!" console.log(str.substring(-3)); // "hello, world!" console.log(str.substring(100)); // ""
三、截取字符串末尾几位
我们可以使用substring截取字符串末尾的几个字符,可以通过传入起始索引为负数的方式进行。下面是一个例子:
let str = "hello, world!"; console.log(str.substring(str.length - 5)); // "world!" console.log(str.substring(str.length - 8)); // "lo, world!"
四、截取指定长度的字符串
有时候需要截取指定长度的字符串,可以通过将起始索引和结束索引计算出来进行。下面是一个例子:
let str = "hello, world!"; let start = 2; let length = 4; let end = start + length; console.log(str.substring(start, end)); // "llo,"
五、关于汉字的处理
在JavaScript中,一个汉字占用两个字符,我们需要做些额外的处理才能保证正确截取汉字。下面是一个例子:
let str = "张三是个好人"; let start = 0; let length = 4; let end = start + length; let chineseCharacters = /[\u4e00-\u9fa5]/g; let chineseLength = str.match(chineseCharacters) ? str.match(chineseCharacters).length : 0; let realStart = start - chineseLength; let realEnd = end - chineseLength; console.log(str.substring(realStart, realEnd)); // "张三是"
六、小结
通过本文的介绍,我们了解到了jssubstring截取字符串的一些使用方法和技巧,可以更加灵活地处理字符串。