1. substring(startIndex, endIndex)
startIndex
:从哪里开始截取(包括此位置)。endIndex
:到哪里结束(不包括此位置)。如果省略,将会截取到字符串的末尾。
const str = "Hello, world!";
const part = str.substring(0, 5); // "Hello"
2. slice(startIndex, endIndex)
startIndex
:从哪里开始截取(包括此位置)。endIndex
:到哪里结束(不包括此位置)。如果省略,将会截取到字符串的末尾。- 与
substring
的区别主要在于,slice
可以接受负数作为参数,负数表示从字符串的末尾开始计数。
const str = "Hello, world!";
const part = str.slice(0, 5); // "Hello"
const partFromEnd = str.slice(-6); // "world!"
3. substr(startIndex, length)
startIndex
:从哪里开始截取(包括此位置)。length
:需要截取的长度。如果省略,将会截取到字符串的末尾。- 注意:
substr
方法在一些JavaScript环境中已经被废弃,不推荐使用。
const str = "Hello, world!";
const part = str.substr(0, 5); // "Hello"
4总结
- 如果你需要从字符串中截取一段,根据起始和结束位置,推荐使用
substring
或slice
。 - 如果你需要根据起始位置和长度来截取字符串,可以使用
slice
,但要注意计算结束位置。 - 尽量避免使用
substr
,因为它已被废弃且可能在未来的JavaScript标准中被移除。