JavaScript内置字符串操作函数详解:concat, indexOf, charAt等
需积分: 14 13 浏览量
更新于2024-09-08
收藏 30KB DOCX 举报
JavaScript字符串操作是编程中不可或缺的一部分,它提供了丰富的内置函数来处理和操作字符串。本文主要介绍了一些核心的JS字符串函数,包括:
1. **concat()**:
这个函数用于将两个或多个字符串连接在一起,形成一个新的字符串。例如:
```javascript
var a = "hello";
var b = ",world";
var c = a.concat(b); // c = "hello,world"
```
它在连接字符串时不会改变原字符串。
2. **indexOf()**:
返回指定子串在字符串中的首次出现的位置(从左向右搜索,若不存在则返回-1)。有两个用法:
- `var index1 = a.indexOf("l");` 返回 "l" 在 "hello" 中的第一个 "l" 的位置,即2。
- `var index2 = a.indexOf("l", 3);` 从第3个字符开始搜索,找到第二个 "l" 的位置,即3。
3. **charAt()**:
用于获取字符串中指定位置的单个字符。例如:
```javascript
var get_char = a.charAt(0); // get_char = "h"
```
4. **lastIndexOf()**:
类似indexOf,但从字符串的末尾开始搜索,返回指定子串最后一次出现的位置,如果没有找到则返回-1。例如:
- `var index1 = a.lastIndexOf('l');` 返回 "l" 在 "hello" 中最后一个 "l" 的位置,即3。
- `var index2 = a.lastIndexOf('l', 2);` 从第2个字符开始搜索,找到第一个 "l" 的位置,即2。
5. **match()**:
使用正则表达式进行字符串匹配,如果找到匹配项则返回匹配的结果数组,否则返回null。例如:
- `var re = new RegExp(/^\w+$/);` 创建一个正则匹配单词边界。
- `var is_alpha1 = a.match(re);` a 匹配成功,结果为 "hello"。
- `var is_alpha2 = b.match(re);` b 不匹配,结果为 null。
6. **substring()** 和 **substr()**:
这两个函数都用于截取字符串的一部分。substring接受两个参数,表示起始位置和结束位置(不包含结束位置的字符):
- `var sub_string1 = a.substring(1);` 从索引1开始,得到 "ello"。
- `var sub_string2 = a.substring(1, 4);` 从索引1到3结束,得到 "ell"。
substr也接受两个参数,但第二个参数表示截取的长度,不包含该长度对应的字符:
- `var sub_string1 = a.substr(1);` 与上面的substring效果相同,因为默认长度为剩余字符串长度。
- `var sub_string2 = a.substr(1, 4);` 与substring的输出一致。
7. **replace()**:
此函数用于替换匹配正则表达式的字符串部分,返回一个新的字符串。例如:
- `var result1 = a.replace(re, "Hello");` 将 "hello" 替换为 "Hello",result1 = "Hello"。
- `var result2 = b.replace(re, "Hello");` 因为 "b" 不符合正则表达式,所以 result2 = "b"。
这些函数提供了丰富的功能,使开发人员能够灵活地处理字符串,满足不同场景下的需求。熟练掌握它们对于编写高效、可读的JavaScript代码至关重要。
2020-12-11 上传
2022-01-18 上传
2021-10-09 上传
2023-12-23 上传
2021-11-23 上传
2022-01-13 上传
...ぷ緣ぷ...
- 粉丝: 2
- 资源: 28
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目