replace 方法 (String)

使用正则表达式或搜索字符串替换字符串中的文本。

语法

stringObj. replace(rgExp, replaceText)

参数

stringObj

必要参数。要执行替换的String对象或字符串文本。replace方法不会修改此字符串。相反,此方法的返回值是替换所生成的字符串。

rgExp

必要参数。包含正则表达式模式和适用标志的Regular Expression对象的实例。也可以是表示正则表达式的String对象或字符串文本。如果rgExp不是Regular Expression对象的实例,则将它转换为字符串,并对结果执行精确搜索;不会尝试将字符串转换为正则表达式。

replaceText

必要参数。一个String对象或字符串文本,其中包含用于替换stringObj中的rgExp的每个成功匹配项的文本。在Internet Explorer 5.5或更高版本中,replaceText参数也可以是返回替换文本的函数。

返回值

完成指定的替换之后,replace方法的结果是stringObj的副本。

备注

以下任一匹配变量均可用于标识最新的匹配项及其所在的字符串。可以在必须动态确定替换字符串的文本替换中使用匹配变量。

Characters意义
$$$(Internet Explorer 5.5或更高版本)
$&指定stringObj中匹配整个模式的部分。(Internet Explorer 5.5或更高版本)
$`指定stringObj位于$&所描述的匹配项前面的部分。(Internet Explorer 5.5或更高版本)
$'指定stringObj中位于$&所描述的匹配项后面的部分。(Internet Explorer 5.5或更高版本)
$ nn个捕获的子匹配,其中n为从1到9的十进制一位数。(Internet Explorer 5.5或更高版本)
$ nnnn个捕获到的子匹配,其中nn为从01到99的十进制二位数。(Internet Explorer 5.5或更高版本)

如果replaceText是一个函数,则对于每个匹配的子字符串,调用此函数时使用下面的m+3个参数,其中m是在rgExp中用于捕获的左括弧的个数。第一个参数是匹配的子字符串。接下来的m参数是搜索产生的所有捕获。参数m+2是发生匹配的stringObj是的偏移量,而参数m+3是stringObj。结果是将每一个匹配的子字符串替换为函数调用的相应返回值后的字符 串值。

replace方法将更新全局RegExp对象的属性。

示例

下面的示例阐释了如何使用replace方法将“the”的所有实例替换为“a”。

var s = "the batter hit the ball with the bat";
// Replace "the" with "a".
var re = /the/g;
var result = s.replace(re, "a");
document.write(result);
// Output: a batter hit a ball with a bat

另外,replace方法也可以替换模式中的子表达式。下面的示例将字符串中的每对单词进行了交换:

var s = "The quick brown fox jumped over the lazy dog.";
var re = /(\S+)(\s+)(\S+)/g;
// Exchange each pair of words.
var result = s.replace(re, "$3$2$1");
document.write(result);
// Output: quick The fox brown over jumps lazy the dog.

下面的示例(在Internet Explorer 5.5及更高版本中运行)演示如何使用返回替换文本的函数。它将后跟“F”的任何数字实例替换为摄氏度的转换值。

function f2c(s1) {
  // Initialize pattern.
  var test = /(\d+(\.\d*)?)F\b/g;
  // Use a function for the replacement.
  var s2 = s1.replace(test,
   function($0,$1,$2)
      {
      return((($1-32) * 5/9) + "C");
      }
    )
  return s2;
}
document.write(f2c("Water freezes at 32F and boils at 212F."));
// Output: Water freezes at 0C and boils at 100C.

必备条件

在以下文档模式中受支持:怪异模式、Internet Explorer 6标准模式、Internet Explorer 7标准模式、Internet Explorer 8标准模式、Internet Explorer 9标准模式、Internet Explorer 10标准模式、Internet Explorer 11标准模式。应用商店应用(Windows 8和Windows Phone 8.1)中也受支持。请参阅版本信息

Applies ToString Object

如果你喜欢这篇文章,敬请给站长打赏↑

除特别注明外,本站所有文章均为本站站长原译,转载请注明出处。