substr 方法
一、概述
substr 方法是 JavaScript 中的一个字符串方法,用于提取字符串中指定位置的子串。该方法可以接受两个参数,第一个参数表示要提取的起始位置,第二个参数表示要提取的子串长度。如果只传递一个参数,则默认从该位置开始一直到字符串结尾。
二、使用方法
1. 基本用法
substr 方法的基本语法如下所示:
```
str.substr(start[, length])
```
其中,str 表示要操作的字符串;start 表示要提取子串的起始位置,可以是正整数或负整数;length 表示要提取子串的长度,可以省略,默认为从 start 开始一直到字符串结尾。
例如:
```javascript
var str = 'Hello, world!';
console.log(str.substr(7)); // 输出 "world!"
console.log(str.substr(7, 5)); // 输出 "world"
console.log(str.substr(-6)); // 输出 "world!"
console.log(str.substr(-6, 3)); // 输出 "wor"
```
2. 特殊情况
在使用 substr 方法时需要注意以下几种特殊情况:
(1)如果 start 参数为负数且绝对值大于等于字符串长度,则返回空字符串。
例如:
```javascript
var str = 'Hello, world!';
console.log(str.substr(-20)); // 输出 "Hello, world!"
console.log(str.substr(-20, 5)); // 输出 "Hello"
console.log(str.substr(-20, 20)); // 输出 "Hello, world!"
console.log(str.substr(-20, -5)); // 输出 ""
```
(2)如果 length 参数为负数,则将其视为 0。
例如:
```javascript
var str = 'Hello, world!';
console.log(str.substr(7, -3)); // 输出 ""
```
(3)如果 start 参数为 NaN 或 Infinity,则将其视为 0。
例如:
```javascript
var str = 'Hello, world!';
console.log(str.substr(NaN)); // 输出 "Hello, world!"
console.log(str.substr(Infinity)); // 输出 ""
```
三、注意事项
1. substr 方法不会改变原字符串,而是返回一个新的字符串。
例如:
```javascript
substring和slice
var str = 'Hello, world!';
var newStr = str.substr(7);
console.log(newStr); // 输出 "world!"
console.log(str); // 输出 "Hello, world!"
```
2. 如果要截取字符串的一部分,推荐使用 slice 方法或 substring 方法代替 substr 方法。因为这两个方法更加直观和易于理解。
例如:
```javascript
var str = 'Hello, world!';
console.log(str.slice(7)); // 输出 "world!"
console.log(str.slice(7, 12)); // 输出 "world"
console.log(str.substring(7)); // 输出 "world!"
console.log(str.substring(7, 12)); // 输出 "world"
```
四、总结
substr 方法是 JavaScript 中常用的字符串方法之一,可以用于提取字符串中指定位置的子串。在使用该方法时需要注意特殊情况,并推荐使用 slice 方法或 substring 方法代替。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。