JavaScript内置字符串操作函数详解:concat, indexOf, charAt等
需积分: 14 196 浏览量
更新于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代码至关重要。
点击了解资源详情
141 浏览量
117 浏览量
131 浏览量
2021-10-09 上传
2023-12-23 上传

...ぷ緣ぷ...
- 粉丝: 2
最新资源
- 通用项目管理流程详解:责任矩阵与关键阶段
- 图基与逻辑基多关系数据挖掘对比分析
- 精通Python 2.1:权威指南
- Oracle PL/SQL学习教程:查询、运算与NULL处理
- Linux共享库详解:编写与优化技巧
- idl编程:交互数据处理与可视化利器
- 理解设计模式:简单工厂、工厂方法与抽象工厂
- ArcIMS入门指南:实现交互式GIS应用
- VC调试技巧详解:从入门到精通
- 构建全面的在线购物网站:从需求到实施
- C++实现的学生成绩管理系统与分治算法论文
- 湛江广播电视大学电子商务毕业设计:书籍专卖店网站
- VIM中文手册:Linux编辑器实战指南
- ATMEGA 48-88-168:高性能8位微处理器中文手册详解
- 网络工程师必备:X.25、ATM与OSI模型解析
- 赣冠教育自考学籍管理系统需求详解与设计要点