JavaScript中查找指定字符串的几种方式

时间:2022-07-26
本文章向大家介绍JavaScript中查找指定字符串的几种方式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、indexOf()

使用indexOf()方法查找字符串。使用此方法如果能找到指定的字符串,返回字符串位置的索引,如果找不到,则返回-1。下面例子结果为2,即找到c字符串,在索引为2的位置。

const str = 'abcdef';
console.log(str.indexOf('c'));					// 输出:2
const str = 'abcdef';
console.log(str.indexOf('g'));					// 输出:-1

2、search()

使用search()方法查找字符串。search()与indexOf()方法的返回结果一样,不同之处在于search()方法支持正则表达式查找字符串。下面例子结果为4。

const str = 'abcdef';
const reg = RegExp(/e/);
console.log(str.search(reg));					// 输出:4
const str = 'abcdef';
const reg = RegExp(/k/);
console.log(str.search(reg));					// 输出:-1

3、match()

使用match()方法查找字符串。match()支持字符串和正则表达式的查找,与上面两个方法不同之处在于它查找指定字符串后,返回的是查找到的字符串,不是字符串的位置。下面例子的结果为d。

const str = 'abcdef';
const reg = RegExp(/d/);
console.log(str.match(reg));

输出:

const str = 'abcdef';
const reg = RegExp(/k/);
console.log(str.match(reg));				// 输出:null

4、test()

使用test()方法查找字符串。test()与上面方法不同之处在于它传入的参数为被查找的字符串,如果查找到指定的字符串返回true,找不到返回false。下面例子返回true。

const str = 'abcdef';
const reg = RegExp(/d/);
console.log(reg.test(str));					// 输出:true
const str = 'abcdef';
const reg = RegExp(/g/);
console.log(reg.test(str));					// 输出:false

5、exec()

使用exec()方法查找字符串。exex()与test()方法类似,不同之处是exec()方法只支持正则表达式查找字符串,如果找到指定的字符串,返回查找到的字符串,找不到时返回null。下面例子返回的结果为f。

const str = 'abcdef';
const reg = RegExp(/f/);
console.log(reg.exec(str));

输出:

const str = 'abcdef';
const reg = RegExp(/h/);
console.log(reg.exec(str));					// 输出:null

6、字符串[索引]

如果知道查找的字符串在另一个字符串的位置,可以把字符串当成一个数组对象,通过“字符串[索引]”的方法获得字符串。下面例子返回的结果为c。

const str = 'abcdef';
console.log(str[2]);						// 输出:c
const str = 'abcdef';
console.log(str[8]);						// 输出:undefined