该方法找到一个正则表达式的字符串之间的匹配,并取代了匹配的子带的新的子串。
替换字符串可以包含以下特殊替换模式:
模式 | 插入 |
---|---|
$$ | 插入一个 "$". |
$& | 插入匹配的子字符串 |
$` | 插入匹配的子字符串之前的一部分 |
$' | 插入下面的匹配的子字符串的一部分 |
$n or $nn | 其中 n 和 nn 的十进制数字,插入第n个括号内的子匹配字符串,提供的第一个参数是一个RegExp 对象 |
语法
string.replace(regexp/substr, newSubStr/function[, flags]);
下面是参数的详细信息:
-
regexp : 一个RegExp对象。匹配被替换参数的返回#2.
-
substr : 一个字符串,由newSubStr 来替换
-
newSubStr : 它取代从参数中收到的子字符串 #1.
-
function : 一个函数被调用以创建新的子串
-
flags : 包含的正则表达式标志的任意组合字符串: g - 全局匹配, i - 忽略大小写,m - 匹配多行。此参数仅用于如果所述第一参数是一个字符串。
返回值:
-
它只是返回一个新的改变的字符串
例子:
下面的示例演示了如何使用全球和忽略大小写标志,允许替换,以使用字符串'oranges'取代'apples'
<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>