js substring截取字符串
在 JavaScript 中,我们经常需要对字符串进行截取操作,以便获取其中的部分信息或者进行字符串的处理。而其中一个常用的方法就是 substring
方法,它可以用来截取字符串中的一部分,返回一个新的子串。
语法
substring
方法的语法如下:
str.substring(indexStart, indexEnd)
其中,indexStart
是要截取的起始位置(包括该位置的字符),indexEnd
是要截取的结束位置(不包括该位置的字符)。如果只传入 indexStart
参数,则截取从 indexStart
开始到字符串末尾的所有字符。
如果 indexStart
大于 indexEnd
,则 substring
方法会自动交换这两个参数的位置。
需要注意的是,substring
方法并不会修改原始字符串,而是返回截取后的新字符串。
示例
让我们通过一些示例来演示 substring
方法的用法:
示例一:截取指定范围内的字符串
const str = "Hello, World!";
const subStr = str.substring(7, 12);
console.log(subStr); // 输出 "World"
在这个示例中,我们将字符串 “Hello, World!” 从第7个位置(包括 “W”)开始截取到第12个位置(不包括 “!”),最终得到了子串 “World”。
示例二:只传入一个参数
const str = "Hello, World!";
const subStr = str.substring(7);
console.log(subStr); // 输出 "World!"
如果只传入一个参数,那么 substring
方法会从指定位置开始一直截取到字符串的末尾。
示例三:自动交换参数位置
const str = "Hello, World!";
const subStr = str.substring(12, 7);
console.log(subStr); // 输出 "World"
在这个示例中,我们传入的起始位置比结束位置大,但是 substring
方法会自动交换这两个参数的位置,所以最终得到的子串依然是 “World”。
注意事项
在使用 substring
方法时,需要注意一些细节:
- 参数为负数时,会被当做 0 处理。
const str = "Hello, World!";
const subStr = str.substring(-5, 5);
console.log(subStr); // 输出 "Hello"
- 参数为非整数时,会被自动转换为整数。
const str = "Hello, World!";
const subStr = str.substring(2.5, 7.9);
console.log(subStr); // 输出 "llo"
- 参数为
NaN
或undefined
时,会被当做 0 处理。
const str = "Hello, World!";
const subStr = str.substring(NaN, undefined);
console.log(subStr); // 输出 "Hello, World!"
- 如果
indexStart
大于或等于indexEnd
,则substring
方法会返回一个空字符串。
const str = "Hello, World!";
const subStr = str.substring(7, 7);
console.log(subStr); // 输出 ""
总结
substring
方法是 JavaScript 中用来截取字符串的常用方法,通过指定的起始位置和结束位置,我们可以获取到需要的子字符串。在使用过程中需要注意参数的类型和范围,以避免出现意外的结果。