天天看點

JavaScript replace() 方法

replace() 方法用于在字元串中用一些字元替換另一些字元,或替換一個與正規表達式比對的子串。

參數

描述

regexp

必需。規定了要替換的模式的 RegExp 對象。請注意,如果該值是一個字元串,則将它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。

replacement

必需。一個字元串值。規定了替換文本或生成替換文本的函數。

一個新的字元串,是用 replacement 替換了 regexp 的第一次比對或所有比對之後得到的。

字元串 stringObject 的 replace() 方法執行的是查找并替換的操作。它将在 stringObject 中查找與 regexp 相比對的子字元串,然後用 replacement 來替換這些子串。如果 regexp 具有全局标志 g,那麼 replace() 方法将替換所有比對的子串。否則,它隻替換第一個比對子串。

replacement 可以是字元串,也可以是函數。如果它是字元串,那麼沒有比對都将由字元串替換。但是 replacement 中的 $ 字元具有特定的含義。如下表所示,它說明從模式比對得到的字元串将用于替換。

字元

替換文本

$1、$2、...、$99

與 regexp 中的第 1 到第 99 個子表達式相比對的文本。

$&

與 regexp 相比對的子串。

$`

位于比對子串左側的文本。

$'

位于比對子串右側的文本。

$$

直接量符号。

注意:ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字元串。在這種情況下,每個比對都調用該函數,它傳回的字元串将作為替換文本使用。該函數的第一個參數是比對模式的字元串。接下來的參數是與模式中的子表達式比對的字元串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明了比對在 stringObject 中出現的位置。最後一個參數是 stringObject 本身。

在本例中,我們将使用 "W3School" 替換字元串中的 "Microsoft":

輸出:

在本例中,我們将執行一次全局替換,每當 "Microsoft" 被找到,它就被替換為 "W3School":

您可以使用本例提供的代碼來確定比對字元串大寫字元的正确:

在本例中,我們将把 "Doe, John" 轉換為 "John Doe" 的形式:

在本例中,我們将把所有的花引号替換為直引号:

在本例中,我們将把字元串中所有單詞的首字母都轉換為大寫:

上一篇: 線程傳參
下一篇: JQuery 小結

繼續閱讀