JavaScript内置字符串操作函数详解:concat, indexOf, charAt等
需积分: 14 151 浏览量
更新于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代码至关重要。
5938 浏览量
273 浏览量
2024-10-15 上传
287 浏览量
2024-09-12 上传
2024-09-12 上传
2023-05-24 上传
...ぷ緣ぷ...
- 粉丝: 2
- 资源: 28
最新资源
- wp-fakerify:伪造wordpress个人用户数据
- CS-216-Project
- 天池大数据竞赛《广东省政务数据创新大赛——智能算法赛》 数据切分.zip
- bmt_python
- Client-Side-Boot-Camp:客户端新手训练营
- baumwachstum-simulation:Baumwachstum Simulation in Rahmen meiner Bachelorarbeit
- 小程序支付.zip
- “云听”与倒映有声达成战略合作,深耕人工智能语音领域.zip
- person
- andres3119.github.io:个人投资组合
- GitHub Windows Edition:将GitHub转换为Windows 95
- practise-template-method-pattern:初学者的Java基本实践:继承
- 缓存击穿概念讲解.zip
- rust_gui:Rust中基于CrossPlatform Native Widget的组件系统
- 流通企业核心竞争力的铸造与提升
- reflectDHCP:反射 https 的助手