js 中截取字符串的三个方法 substring、substr、slice
substring截取字符串 js中有三个截取字符的方法,分别是substring()、substr()、slice(),平时我们可能都用到过,但总是会对这些方法有点混淆,特别是substring()和substr(),连方法名都差不多,下面就具体来看一下区别。 在JavaScript中,字符串截取是常见的操作,主要通过`substring()`、`substr()`和`slice()`这三个方法来实现。它们都能从原始字符串中提取部分字符并返回新的字符串,但参数和处理方式略有不同。 `substring()`方法,它接受两个参数:`start`和`stop`。`start`表示要提取的子串的第一个字符的位置,`stop`则指定了子串的结束位置,但不包括在结果中。如果`start`和`stop`相等,返回的将是空字符串。如果`start`大于`stop`,`substring()`会交换这两个参数。对于负数或非整数参数,`substring()`会将其转换为0或向下取整。例如: ```javascript var a = '0123456789'; console.log(a.substring(1, 5)); // 输出 "1234" console.log(a.substring(1, 1)); // 输出 "" console.log(a.substring(5, 1)); // 输出 "1234" (相当于 a.substring(1, 5)) console.log(a.substring(5, -1)); // 输出 "1234" (相当于 a.substring(5, 0)) ``` 接下来是`substr()`方法,它也接受两个参数:`start`和`length`。`start`同样定义了截取的起始位置,而`length`则指定了要截取的字符数量。与`substring()`不同,`substr()`不会根据结束位置停止,而是根据给定的`length`值截取字符。即使`length`超过了字符串剩余的字符数,它也会截取到字符串末尾。比如: ```javascript var a = '0123456789'; console.log(a.substr(1, 5)); // 输出 "12345" console.log(a.substr(1, 15)); // 输出 "123456789" (到字符串末尾) console.log(a.substr(-1)); // 输出 "9" (从倒数第一个字符开始) ``` `slice()`方法的用法与`substring()`类似,但有一些细微差别。`slice()`也可以接受两个参数:`start`和`end`,并且处理负数和非整数的方式与`substring()`相同。`slice()`的一个独特之处在于,它能处理数组和字符串,而不仅仅是字符串。 ```javascript var a = '0123456789'; console.log(a.slice(1, 5)); // 输出 "1234" console.log(a.slice(-1)); // 输出 "9" (从倒数第一个字符开始) ``` `substring()`和`slice()`更注重指定截取的范围,而`substr()`更关注截取的字符数量。在日常开发中,选择哪个方法主要取决于你的需求——如果需要指定结束位置而不关心具体截取多少字符,`substring()`和`slice()`都是好选择;如果需要截取固定数量的字符,那么`substr()`更为合适。无论哪种方法,都要注意避免参数超出字符串的实际长度,以防止意外的截取结果。
剩余12页未读,继续阅读
- 粉丝: 49
- 资源: 50
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助