replace方法用于替换字符串中的指定内容。它接受两个参数,第一个参数是要替换的内容(可以是字符串或正则表达式),第二个参数是用于替换的新内容。如果第一个参数是正则表达式,可以使用g标志进行全局替换。
代码示例:
const str = 'Hello, World!';
const newStr = str.replace('Hello', 'Hi');
console.log(newStr); // 输出:Hi, World!
search方法用于查找字符串中的指定内容,并返回第一次出现的索引位置。它接受一个参数,表示要查找的内容(可以是字符串或正则表达式)。
代码示例:
const str = 'Hello, World!';
const index = str.search('World');
console.log(index); // 输出:7
需要注意的是,search方法只能返回第一个匹配项的索引位置,无法直接返回所有匹配项的索引位置。如果要找出字符串中所有匹配项的索引位置,可以使用正则表达式的exec方法结合循环来实现。
示例代码如下:
const str = 'asasas';
const pattern = /s/g;
let match;
const indexes = [];
while ((match = pattern.exec(str)) !== null) {
indexes.push(match.index);
}
console.log(indexes); // 输出:[1, 3, 5]
在上面的示例中,使用了正则表达式/s/g来匹配字符串中的所有s字符。然后,通过循环使用exec方法来找到每个匹配项的索引位置,并将其添加到indexes数组中。最后,输出indexes数组,即可得到所有匹配项的索引位置。
match方法用于从字符串中提取与指定模式匹配的内容,并返回一个数组。它接受一个参数,表示要匹配的模式(可以是字符串或正则表达式)。
代码示例:
const str = 'Hello, World!';
const matches = str.match(/[A-Z]/g);
console.log(matches); // 输出:[ 'H', 'W' ]
小结:replace方法是对原字符串进行替换操作,并返回一个新字符串;search和match方法只是对字符串进行查找和匹配,并返回相应的结果。