substring()
是 JavaScript 中的一个字符串方法,用于提取字符串中的一部分字符,并返回一个新的字符串。这个方法不会改变原始字符串。
substring()
方法接受两个参数:
startIndex
(必需):要提取的子字符串的起始索引。endIndex
(可选):要提取的子字符串的结束索引(不包括该索引处的字符)。如果省略,则提取到字符串末尾。substring()
方法属于 JavaScript 字符串对象的方法。
let str = "Hello, World!";
// 提取从索引 0 到 5 的字符(不包括索引 5)
let result1 = str.substring(0, 5); // 输出: "Hello"
// 只提供一个参数,提取从索引 7 到字符串末尾的字符
let result2 = str.substring(7); // 输出: "World!"
// 如果 startIndex 大于 endIndex,substring() 会自动交换这两个参数的位置
let result3 = str.substring(10, 5); // 输出: "World"
如果你提供的索引超出了字符串的长度,substring()
不会抛出错误,而是会自动调整索引值。
let str = "Hello";
let result = str.substring(10, 20); // 输出: ""
解决方法:在使用 substring()
之前,检查索引是否在字符串长度范围内。
function safeSubstring(str, start, end) {
let len = str.length;
start = Math.max(0, Math.min(start, len));
end = Math.max(0, Math.min(end, len));
return str.substring(start, end);
}
let result = safeSubstring("Hello", 10, 20); // 输出: ""
substring()
和 substr()
substr()
方法与 substring()
类似,但第二个参数表示要提取的字符数,而不是结束索引。
let str = "Hello";
let result1 = str.substring(1, 3); // 输出: "el"
let result2 = str.substr(1, 3); // 输出: "ell"
解决方法:明确区分这两个方法的使用场景,并仔细检查参数的含义。
通过以上信息,你应该对 substring()
方法有了全面的了解,包括其基础概念、优势、应用场景以及常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云