本文详细解析JavaScript中String对象的replace()方法。涵盖其基本语法、参数说明(包括正则对象、替换字符串或函数、标志位)及返回值。通过全球匹配和忽略大小写替换、以及利用捕获组进行词序转换的两个具体代码示例,展示该方法的实际应用场景。
replace()方法概述
该方法用于查找字符串中与正则表达式匹配的部分,并将匹配到的子串替换为指定的新子串。
在替换字符串中,可以包含以下特殊的替换模式:

语法
语法与参数说明
string.replace(regexp/substr, newSubStr/function[, flags]);
以下是各参数的详细说明:
- regexp:一个 RegExp 对象。匹配被替换参数的返回#2。
- substr:一个字符串,指定将被newSubStr替换的部分。
- newSubStr:一个字符串,用于替换从regexp匹配到的子字符串。
- function:一个函数,调用该函数以生成新的子串。
- flags:可选参数,包含正则表达式标志的任意组合字符串,如g(全局匹配)、i(忽略大小写)、m(多行匹配)。此参数仅当第一个参数为字符串时有效。
返回值:
- 返回一个新的字符串,该字符串中部分或所有匹配项已被新字符串替换。
代码示例
示例:
以下示例演示了如何使用全局匹配(g)和忽略大小写(i)标志,将字符串中的'Apples'替换为'oranges'。
<html>
<head>
<title>JavaScript String replace() Method</title>
</head>
<body>
<script type="text/javascript">
var re = /apples/gi;
var str = "Apples are round, and apples are juicy.";
var newstr = str.replace(re, "oranges");
document.write(newstr );
</script>
</body>
</html>
示例:
以下示例演示了如何利用正则表达式的捕获组,将字符串中的单词顺序进行转换。
<html>
<head>
<title>JavaScript String replace() Method</title>
</head>
<body>
<script type="text/javascript">
var re = /(\w+)\s(\w+)/;
var str = "zara ali";
var newstr = str.replace(re, "$2, $1");
document.write(newstr);
</script>
</body>
</html>