admin 管理员组

文章数量: 887021


2024年1月18日发(作者:fwrite函数会把前面的删除吗)

substr方法

```javascript

(start, length)

```

这里的string是要操作的字符串,start是起始位置,length是要获取的子串的长度。具体来说,substr方法从字符串的start位置开始,截取长度为length的子串。

下面是一些示例,展示了substr方法的具体用法:

```javascript

const str = "Hello, world!";

const sub1 = (7); // "world!"

const sub2 = (0, 5); // "Hello"

const sub3 = (-6); // "world!"

const sub4 = (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 = (-100); // "Hello, world!"

```

在这个示例中,start参数为-100,其绝对值比字符串长度还要大,所以substr方法将start参数转换为0,截取了整个字符串。

2. 如果length参数为负数,substr方法会将其转换为0,表示要获取的子串长度为0。

```javascript

const str = "Hello, world!";

const sub = (7, -5); // ""

```

在这个示例中,length参数为-5,substr方法将其转换为0,所以获取的子串长度为0,即返回一个空字符串。

3. 如果start参数为NaN或Infinity,substr方法会将其转换为0。

```javascript

const str = "Hello, world!";

const sub1 = (NaN); // "Hello, world!"

const sub2 = (Infinity); // "Hello, world!"

```

在这个示例中,start参数为NaN和Infinity,但substr方法会将其都转换为0,所以获取的子串为整个字符串。

需要注意的是,substr方法截取的子串包括start位置的字符,但不包括start+length位置的字符。这意味着,如果length参数为负数,则在截取时会从start位置开始向前计数。

总结起来,substr方法用于获取字符串的子串,可以通过设置start和length参数来控制截取的位置和长度。它是一种常用的字符串方法,可以在很多编程语言中使用。在实际开发中,我们经常需要从字符串中获取特定部分的内容,substr方法可以帮助我们实现这个功能。


本文标签: 字符串 方法 参数 截取 开始