## JavaScript 字符串查找
简介
在 JavaScript 中,字符串查找是指在字符串中定位特定字符、子字符串或模式的过程。字符串查找是许多字符串操作的基础,例如替换、分割、验证和提取信息。
1. indexOf() 方法
`indexOf()` 方法返回字符串中第一次出现指定子字符串的索引,如果未找到则返回 -1。```javascript const str = "Hello World!"; const index = str.indexOf("World"); // 返回 6 ```
1.1 `indexOf()` 方法的常用参数
`substring`:要查找的子字符串
`start`(可选):开始搜索的索引位置,默认为 0```javascript const str = "Hello World!"; const index = str.indexOf("o", 5); // 返回 7 ```
2. lastIndexOf() 方法
`lastIndexOf()` 方法返回字符串中最后一次出现指定子字符串的索引,如果未找到则返回 -1。```javascript const str = "Hello World!"; const index = str.lastIndexOf("l"); // 返回 9 ```
2.1 `lastIndexOf()` 方法的常用参数
`substring`:要查找的子字符串
`start`(可选):开始搜索的索引位置,默认为字符串的最后一个字符```javascript const str = "Hello World!"; const index = str.lastIndexOf("o", 5); // 返回 4 ```
3. search() 方法
`search()` 方法使用正则表达式查找字符串中匹配的子字符串,并返回第一个匹配项的索引,如果未找到则返回 -1。```javascript const str = "Hello World!"; const index = str.search(/World/); // 返回 6 ```
3.1 `search()` 方法的常用参数
`regexp`:正则表达式对象```javascript const str = "Hello World!"; const index = str.search(/[a-z]/); // 返回 0 ```
4. match() 方法
`match()` 方法使用正则表达式查找字符串中匹配的子字符串,并返回一个包含所有匹配项的数组,如果未找到则返回 null。```javascript const str = "Hello World!"; const matches = str.match(/l/g); // 返回 ["l", "l", "l"] ```
4.1 `match()` 方法的常用参数
`regexp`:正则表达式对象```javascript const str = "Hello World!"; const matches = str.match(/o/); // 返回 ["o"] ```
5. 使用正则表达式
使用正则表达式可以进行更复杂的字符串查找,例如查找特定模式的子字符串,例如匹配所有数字或字母。```javascript const str = "123 Hello World!"; const matches = str.match(/\d+/g); // 返回 ["123"] ```
总结
JavaScript 提供了多种方法来查找字符串中的子字符串,包括 `indexOf()`、`lastIndexOf()`、`search()` 和 `match()` 方法,以及使用正则表达式。选择哪种方法取决于具体的需求,例如查找第一个匹配项、最后一个匹配项,或者匹配所有符合特定模式的子字符串。
JavaScript 字符串查找**简介**在 JavaScript 中,字符串查找是指在字符串中定位特定字符、子字符串或模式的过程。字符串查找是许多字符串操作的基础,例如替换、分割、验证和提取信息。**1. indexOf() 方法**`indexOf()` 方法返回字符串中第一次出现指定子字符串的索引,如果未找到则返回 -1。```javascript const str = "Hello World!"; const index = str.indexOf("World"); // 返回 6 ```**1.1 `indexOf()` 方法的常用参数*** `substring`:要查找的子字符串 * `start`(可选):开始搜索的索引位置,默认为 0```javascript const str = "Hello World!"; const index = str.indexOf("o", 5); // 返回 7 ```**2. lastIndexOf() 方法**`lastIndexOf()` 方法返回字符串中最后一次出现指定子字符串的索引,如果未找到则返回 -1。```javascript const str = "Hello World!"; const index = str.lastIndexOf("l"); // 返回 9 ```**2.1 `lastIndexOf()` 方法的常用参数*** `substring`:要查找的子字符串 * `start`(可选):开始搜索的索引位置,默认为字符串的最后一个字符```javascript const str = "Hello World!"; const index = str.lastIndexOf("o", 5); // 返回 4 ```**3. search() 方法**`search()` 方法使用正则表达式查找字符串中匹配的子字符串,并返回第一个匹配项的索引,如果未找到则返回 -1。```javascript const str = "Hello World!"; const index = str.search(/World/); // 返回 6 ```**3.1 `search()` 方法的常用参数*** `regexp`:正则表达式对象```javascript const str = "Hello World!"; const index = str.search(/[a-z]/); // 返回 0 ```**4. match() 方法**`match()` 方法使用正则表达式查找字符串中匹配的子字符串,并返回一个包含所有匹配项的数组,如果未找到则返回 null。```javascript const str = "Hello World!"; const matches = str.match(/l/g); // 返回 ["l", "l", "l"] ```**4.1 `match()` 方法的常用参数*** `regexp`:正则表达式对象```javascript const str = "Hello World!"; const matches = str.match(/o/); // 返回 ["o"] ```**5. 使用正则表达式**使用正则表达式可以进行更复杂的字符串查找,例如查找特定模式的子字符串,例如匹配所有数字或字母。```javascript const str = "123 Hello World!"; const matches = str.match(/\d+/g); // 返回 ["123"] ```**总结**JavaScript 提供了多种方法来查找字符串中的子字符串,包括 `indexOf()`、`lastIndexOf()`、`search()` 和 `match()` 方法,以及使用正则表达式。选择哪种方法取决于具体的需求,例如查找第一个匹配项、最后一个匹配项,或者匹配所有符合特定模式的子字符串。