在JavaScript中,有多种方法可以截取字符串,以下是一些常用的方法:
substring()方法 语法
: `string.substring(start, end)`
参数说明:
`start`: 必需,一个非负的整数,规定要提取的子串的第一个字符在string中的位置。
`end`: 可选,一个非负的整数,比要提取的子串的最后一个字符在string中的位置多1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
示例:
```javascript
let str = "Hello, World!";
let subStr1 = str.substring(0, 5); // 从索引0开始(包括索引0对应的字符'H'),到索引5之前(不包括索引5对应的字符','),结果为"Hello"
let subStr2 = str.substring(7); // 从索引7开始(包括索引7对应的字符'W'),到字符串结尾,结果为"World!"
```
slice()方法
语法: `str.slice(start, end)`
参数说明:
`start`: 必需,一个非负的整数,规定要提取的子串的第一个字符在string中的位置。
`end`: 可选,一个非负的整数,表示截取的结束位置(不包含该位置的字符)。如果省略该参数,那么返回的子串会一直到字符串的结尾。
示例:
```javascript
let str = "hello world!";
console.log(str.slice(4, 9)); // 从下标4开始(包括下标4对应的字符'o'),到下标9之前(不包括下标9对应的字符'w'),结果为"wor"
console.log(str.slice(-6)); // 从下标-6开始(即从字符串末尾往前数6个位置),到字符串结尾,结果为"world!"
```
substr()方法
语法: `string.substr(start, length)`
参数说明:
`start`: 必需,一个非负的整数,规定要提取的子串的第一个字符在string中的位置。
`length`: 可选,一个非负的整数,规定要提取的子串的长度。如果省略该参数,那么返回的子串会一直到字符串的结尾。
示例:
```javascript
let str = "JavaScript";
let subStr1 = str.substr(7, 5); // 从索引7开始(包括索引7对应的字符'J'),截取长度为5,结果为"avaScrip"
```
建议
推荐使用: `substring()` 和 `slice()` 方法在现代JavaScript项目中更为推荐使用,因为它们的功能更清晰,且 `substr()` 方法已被部分浏览器废弃。 负数索引
通过以上方法,你可以根据具体需求选择合适的字符串截取方法。