您的位置:

jssubstring截取字符串详解

一、基本介绍

在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截取字符串的一些使用方法和技巧,可以更加灵活地处理字符串。