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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 3. Kafka入门-安装与基本命令
- java全大撒大撒大苏打
- pca20241222
- LabVIEW实现LoRa通信【LabVIEW物联网实战】
- CS-TY4-4WCN-转-公版-XP1-8B4WF-wifi8188
- 计算机网络期末复习资料(课后题答案+往年考试题+复习提纲+知识点总结)
- 从零学习自动驾驶Lattice规划算法(下) 轨迹采样 轨迹评估 碰撞检测 包含matlab代码实现和cpp代码实现,方便对照学习 cpp代码用vs2019编译 依赖qt5.15做可视化 更新:
- 风光储、风光储并网直流微电网simulink仿真模型 系统由光伏发电系统、风力发电系统、混合储能系统(可单独储能系统)、逆变器VSR+大电网构成 光伏系统采用扰动观察法实现mppt控
- (180014016)pycairo-1.18.2-cp35-cp35m-win32.whl.rar
- (180014046)pycairo-1.21.0-cp311-cp311-win32.whl.rar