substr方法
```javascript
string.substr(start, length)
```
这里的string是要操作的字符串,start是起始位置,length是要获取的子串的长度。具体来说,substr方法从字符串的start位置开始,截取长度为length的子串。
下面是一些示例,展示了substr方法的具体用法:
```javascript
const str = "Hello, world!";
const sub1 = str.substr(7); // "world!"
const sub2 = str.substr(0, 5); // "Hello"
const sub3 = str.substr(-6); // "world!"
字符串长度为0const sub4 = str.substr(7, 5); // "world"
```
在第一个示例中,start参数是7,没有提供length参数,所以substr方法从字符串的第7个字符开始,一直截取到字符串的末尾。
在第二个示例中,start参数是0,length参数是5,所以substr方法从字符串的第一个字符开始,长度为5,即截取了"Hello"子串。
在第三个示例中,start参数是-6,没有提供length参数,所以substr方法从字符串的倒数第6个字符开始,一直截取到字符串的末尾。负数的start参数是从字符串末尾开始计算的。
在第四个示例中,start参数是7,length参数是5,所以substr方法从字符串的第7个字符开始,长度为5,即截取了"world"子串。
除了上述示例中的用法外,substr方法还具有一些特殊的功能和用途:
1. 如果start参数为负数且绝对值较大,substr方法会将其转换为0。
```javascript
const str = "Hello, world!";
const sub = str.substr(-100); // "Hello, world!"
```
在这个示例中,start参数为-100,其绝对值比字符串长度还要大,所以substr方法将start参数转换为0,截取了整个字符串。
2. 如果length参数为负数,substr方法会将其转换为0,表示要获取的子串长度为0。
```javascript
const str = "Hello, world!";
const sub = str.substr(7, -5); // ""
```
在这个示例中,length参数为-5,substr方法将其转换为0,所以获取的子串长度为0,即返回一个空字符串。
3. 如果start参数为NaN或Infinity,substr方法会将其转换为0。
```javascript
const str = "Hello, world!";
const sub1 = str.substr(NaN); // "Hello, world!"
const sub2 = str.substr(Infinity); // "Hello, world!"
```
在这个示例中,start参数为NaN和Infinity,但substr方法会将其都转换为0,所以获取的子串为整个字符串。
需要注意的是,substr方法截取的子串包括start位置的字符,但不包括start+length位置的字符。这意味着,如果length参数为负数,则在截取时会从start位置开始向前计数。
总结起来,substr方法用于获取字符串的子串,可以通过设置start和length参数来控制截取的位置和长度。它是一种常用的字符串方法,可以在很多编程语言中使用。在实际开发中,我们经常需要从字符串中获取特定部分的内容,substr方法可以帮助我们实现这个功能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论