使用indexOf()方法查找字符串。使用此方法如果能找到指定的字符串,返回字符串位置的索引,如果找不到,则返回-1。下面例子结果为2,即找到c字符串,在索引为2的位置。
const str = 'abcdef'; console.log(str.indexOf('c')); // 输出:2 const str = 'abcdef'; console.log(str.indexOf('g')); // 输出:-1使用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使用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使用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使用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如果知道查找的字符串在另一个字符串的位置,可以把字符串当成一个数组对象,通过“字符串[索引]”的方法获得字符串。下面例子返回的结果为c。
const str = 'abcdef'; console.log(str[2]); // 输出:c const str = 'abcdef'; console.log(str[8]); // 输出:undefined