JavaScript字符串截取方法总结:substring, slice, substr
159 浏览量
更新于2024-08-29
收藏 102KB PDF 举报
"这篇文档总结了JavaScript中常用的字符串操作,主要关注字符串截取的方法,包括substring()、slice()和substr()。这些方法都是用于从原始字符串中提取子字符串,并创建新的字符串实例。"
在JavaScript中,字符串是不可变的,这意味着我们不能直接修改已存在的字符串。但我们可以使用各种方法来获取字符串的部分内容。以下是对摘要中提到的三个字符串截取方法的详细解释:
1. `substring()`
`substring()`方法用于从字符串中提取一部分文本。它接受两个参数:`start` 和 `end`。`start` 表示要截取的起始位置,`end` 表示结束位置(不包含该位置的字符)。如果`end`参数被省略,`substring()`会从`start`位置开始截取直到字符串末尾。例如:
```javascript
let str = 'www.jeffjade.com';
console.log(str.substring(0,3)); // 输出 'www'
console.log(str.substring(0)); // 输出 'www.jeffjade.com'
console.log(str.substring(-2)); // 当传入负值时,默认视为0,所以输出 'www.jeffjade.com'
```
2. `slice()`
`slice()` 方法与 `substring()` 类似,但也允许使用负值参数。如果参数为负数,它将从字符串尾部开始计算位置。例如:
```javascript
let str = 'www.jeffjade.com';
console.log(str.slice(0,3)); // 输出 'www'
console.log(str.slice(-3,-1)); // 输出 'co'
console.log(str.slice(1,-1)); // 输出 'www.jeffjade.co'
console.log(str.slice(2,1)); // 输出 '',因为start须小于end
console.log(str.slice(-3,0)); // 输出 '',因为start须小于end
```
3. `substr()`
`substr()` 方法有所不同,它需要两个参数:`start` 和 `length`。`start` 是起始位置,`length` 是要提取的字符数量。如果只提供 `start`,`substr()` 将从该位置开始提取到字符串末尾。当 `start` 为负数时,它仍然从字符串尾部开始计算。例如:
```javascript
let str = 'www.jeffjade.com';
console.log(str.substr(0,3)); // 输出 'www'
console.log(str.substr(-3)); // 输出 'com',从倒数第三个字符开始,直到字符串末尾
console.log(str.substr(2,4)); // 输出 'wwwj'
console.log(str.substr(5)); // 输出 'effjade.com',从第五个字符开始,一直到末尾
```
这些方法对于处理和操作字符串非常有用,可以根据需求选择适合的方法。需要注意的是,这些方法都不会改变原始字符串,而是返回新的字符串实例。因此,它们在处理大量文本数据或构建动态字符串时非常有效。在实际开发中,理解并熟练运用这些字符串截取方法,能够帮助我们编写出更高效、更简洁的代码。
2021-10-09 上传
2020-10-15 上传
2020-10-22 上传
2024-04-17 上传
2023-07-27 上传
2023-03-21 上传
2024-09-15 上传
2024-05-17 上传
2023-04-01 上传
weixin_38741030
- 粉丝: 3
- 资源: 924
最新资源
- BangBang教育:家庭作业
- 145026,c语言种子解析下载源码,c语言
- AutoSplitterJourney
- 一个个人文件管理系统的源码脚手架r-pan基于此脚手架搭建快速搭建个人文件管理系统
- gchisto:GC日志分析工具,网上不容易找到原始码,这里备份一个。不确定工具是否正确,不确定是否有时间研究
- H5手机端免费问卷调查平台系统aspnet源码
- assistant:自动化的个人助理,可帮助您前进并跟踪您的成绩,以获得良好生活
- 虚拟DVD精灵 VirtualDVD 9.2 中文.zip
- evikd,c语言项目文档以及源码,c语言
- tts-40k-roller:台式模拟器上用于战锤40k的压模辊
- 【ssm管理系统】实现的在线考试系统.zip
- 音听故事个人网站
- cacheman-file:Node.JS的文件缓存库,还有cacheman的缓存引擎
- OLML:各种日常的自动化办公工具
- nix-container-perfzero:在XSEDE环境中运行perfzero基准测试的容器
- TORZ,c语言开源软件源码下载,c语言