字符串的三个方法search,match和replace

237 阅读1分钟

写在前面:这一篇比较短,主要提一下字符串的三个方法,search,match和replace,介绍作用和出现的情况。

字符串的方法(search;match;replace);

1,search, 字符串.search(正则); 找到:返回第一次出现的下标;没找到:返回-1;

const reg = /\d{3}/;
const str1 = '你好123QF456';
const str2 = '你好';
​
console.log(str1.search(reg))   // 返回的是 首次出现的 下标
console.log(str2.search(reg))   // 没有找到, 所以返回的 是 -1

2,match, 字符串.match(正则); 作用,当正则没有添加修饰符g的时候,作用类似于 正则.exec() =>捕获到的时候,是一个数组,数组下标0开始捕获。=>多次捕获时,每次都从下标0开始。=>没有捕获到时,返回null。当正则添加修饰符g的时候,捕获到的是一个数组,数组的成员是捕获到的每一个值,=> 没有捕获到时,返回一个null。

const reg = /\d{3}/;
const reg1 = /\d{3}/g;
const str1 = '你好123QF456';
const str2 = '你好';
​
console.log(str1.match(reg))    // 返回一个数组, 数组下标0, 是第一个捕获到的值
console.log(str1.match(reg))    // 返回一个数组, 数组下标0, 是第一个捕获到的值
console.log(str2.match(reg))    // 没有找到, 返回一个 null

3,replace,字符串.replace(正则,要替换的字符), 作用,通过正则找到对应的字符,将其提换

const reg = /\d{3}/;
const reg1 = /\d{3}/g;
const str1 = '你好123QF456';
const str2 = '你好';
​
console.log(str1.replace(reg, '***'))
console.log(str1.replace(reg1, '***'))
console.log(str2.replace(reg, '***'))
console.log(str2.replace(reg1, '***'))