📅  最后修改于: 2023-12-03 15:25:44.100000             🧑  作者: Mango
在某些情况下,我们需要把一个较长的字符串截断成一个指定长度的子串。Javascript提供了多种方法来实现这个目标。
substr方法可以从字符串中提取指定长度的子串。它需要两个参数,第一个参数是开始提取子串的位置,第二个参数是子串的长度。
let str = 'hello world';
let substr = str.substr(0, 5); // 'hello'
需要注意的是,如果第一个参数是负数,则表示从字符串末尾开始计算位置。
let str = 'hello world';
let substr = str.substr(-5, 5); // 'world'
slice方法也可以从字符串中提取指定长度的子串。它需要两个参数,第一个参数是开始提取子串的位置,第二个参数是子串的结束位置(不含)。
let str = 'hello world';
let substr = str.slice(0, 5); // 'hello'
需要注意的是,如果第一个参数是负数,则表示从字符串末尾开始计算位置。如果第二个参数是负数,则表示从字符串末尾开始往前计算位置。
let str = 'hello world';
let substr1 = str.slice(-5); // 'world'
let substr2 = str.slice(6, -1); // 'o worl'
substring方法也可以从字符串中提取指定长度的子串。它需要两个参数,第一个参数是开始提取子串的位置,第二个参数是子串的结束位置(不含)。
let str = 'hello world';
let substr = str.substring(0, 5); // 'hello'
需要注意的是,如果第一个参数大于第二个参数,则substring方法会自动交换两个参数的位置。
let str = 'hello world';
let substr1 = str.substring(6, 1); // 'ello '
let substr2 = str.substring(1, 6); // 'ello '
以上三种方法均可以实现字符串截断的目标,具体选择哪种方法取决于具体的需求。需要注意的是,substr和slice方法在处理负数参数时可能会有不同的表现,需要根据具体情况做出判断。同时,substring方法会自动交换参数位置,需要了解此特性以免产生错误。