JavaScript String replace() 方法
- 上一頁 repeat()
- 下一頁 replaceAll()
- 返回上一層 JavaScript String 參考手冊
定義和用法
replace()
方法在字符串中搜索值或正則表達式。
replace()
方法返回已替換值的新字符串。
replace()
方法不會更改原始字符串。
提示:如果您替換值,則只會替換第一個實例。如需替換所有實例,請使用帶有 g
修飾符集的正則表達式。
另請參閱:
實例
例子 1
替換 Microsoft:
let text = "Visit Microsoft!"; let result = text.replace("Microsoft", "W3School");
例子 2
全局替換:
let text = "Mr Blue has a blue house and a blue car"; let result = text.replace(/blue/g, "red");
例子 3
全局的、不區分大小寫的替換:
let text = "Mr Blue has a blue house and a blue car"; let result = text.replace(/blue/gi, "red");
例子 4
返回替換文本的函數:
let text = "Mr Blue has a blue house and a blue car"; let result = text.replace(/blue|house|car/gi, function (x) { return x.toUpperCase(); });
語法
string.replace(regexp, replacement)
參數
參數 | 描述 |
---|---|
regexp |
必需。要搜索的值或正則表達式。 該參數指定要替換的模式的 RegExp 對象。 如果該參數是字符串,則將它作為要檢索的直接量文本模式。 |
replacement |
必需。字符串。 指定替換文本或生成替換文本的函數。 |
返回值
類型 | 描述 |
---|---|
字符串 | 已替換指定值的新字符串。 |
技術細節
返回值
返回新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。
說明
字符串 string 的 replace()
方法執行的是查找并替換的操作。它將在 string 中查找與 regexp 相匹配的子字符串,然后用 replacement 來替換這些子串。如果 regexp 具有全局標志 g,那么 replace()
方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。
replacement 可以是字符串,也可以是函數。如果它是字符串,那么每個匹配都將由字符串替換。但是 replacement 中的 $
字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用于替換。
字符 | 替換文本 |
---|---|
$1、$2、...、$99 | 與 regexp 中的第 1 到第 99 個子表達式相匹配的文本。 |
$& | 與 regexp 相匹配的子串。 |
$` | 位于匹配子串左側的文本。 |
$' | 位于匹配子串右側的文本。 |
$$ | 直接量符號。 |
注意:ECMAScript v3 規定,replace()
方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作為替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了匹配在 string 中出現的位置。最后一個參數是 string 本身。
瀏覽器支持
replace()
是 ECMAScript1 (ES1) 特性。
所有瀏覽器都完全支持 ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
- 上一頁 repeat()
- 下一頁 replaceAll()
- 返回上一層 JavaScript String 參考手冊