JavaScript 提供了多种截取字符串的方法,包括 slice()、substring()、substr() 和正则表达式。slice() 和 substring() 从指定索引截取,substr() 从指定长度截取,而正则表达式提供灵活的匹配选项。选择方法取决于特定要求:slice() 用于精确截取,substring() 或 substr() 用于截取字符数,正则表达式用于复杂匹配。

JavaScript 中截取字符串的方法
JavaScript 提供了多种方法来从字符串中截取子字符串:
1. slice() 方法
slice() 方法从指定的起始索引开始截取字符串到指定的结束索引(不包括结束索引):
<code class="javascript">const str = "Hello World"; const sliced = str.slice(6, 11); // "World"</code>
2. substring() 方法
substring() 方法也从指定的起始索引开始截取字符串,但它接受第二个参数作为要截取的字符数:
<code class="javascript">const str = "Hello World"; const substringed = str.substring(6, 3); // "Wor"</code>
3. substr() 方法
substr() 方法与 slice() 类似,但它只接受一个参数,表示要截取的字符数:
<code class="javascript">const str = "Hello World"; const substr = str.substr(6); // "World"</code>
4. 正则表达式
使用正则表达式也可以截取字符串:
<code class="javascript">const str = "Hello World"; const matches = str.match(/World/g); // ["World"]</code>
优点和缺点
- slice() 和 substring() 方法更通用,可用于截取任意位置的子字符串。
- substr() 方法更简单,但它无法从负索引开始截取。
- 正则表达式提供更灵活的匹配选项,但它可能比其他方法效率较低。
选择合适的方法
选择哪种截取方法取决于特定要求:
- 对于需要精确截取从指定索引到指定索引的子字符串的情况,slice() 是最佳选择。
- 如果需要截取一定数量的字符,substring() 或 substr() 可能是更好的选择。
- 对于需要使用正则表达式匹配和截取的复杂情况,使用 正则表达式 是值得的。










