定義和用法
replace() 方法用于在字符串中用一些字符替換另一些字符旧巾,或替換一個與正則表達(dá)式匹配的子串死遭。
語法
stringObject.replace(regexp,replacement)
參數(shù) | 描述 |
---|---|
regexp | 必需笙蒙。規(guī)定了要替換的模式的 RegExp 對象花枫。請注意型酥,如果該值是一個字符串昧旨,則將它作為要檢索的直接量文本模式,而不是首先被轉(zhuǎn)換為 RegExp 對象抽减。 |
replacement | 必需允青。一個字符串值。規(guī)定了替換文本或生成替換文本的函數(shù)卵沉。 |
返回值
一個新的字符串颠锉,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。
說明
字符串 stringObject 的 replace() 方法執(zhí)行的是查找并替換的操作史汗。它將在 stringObject 中查找與 regexp 相匹配的子字符串琼掠,然后用 replacement 來替換這些子串。如果 regexp 具有全局標(biāo)志 g停撞,那么 replace() 方法將替換所有匹配的子串瓷蛙。否則,它只替換第一個匹配子串。
replacement 可以是字符串速挑,也可以是函數(shù)。如果它是字符串副硅,那么沒有匹配都將由字符串替換姥宝。但是 replacement 中的 $ 字符具有特定的含義。如下表所示恐疲,它說明從模式匹配得到的字符串將用于替換腊满。
字符 | 替換文本 |
---|---|
|
與 regexp 中的第 1 到第 99 個子表達(dá)式相匹配的文本。 |
$& | 與 regexp 相匹配的子串省咨。 |
$` | 位于匹配子串左側(cè)的文本肃弟。 |
$’ | 位于匹配子串右側(cè)的文本。 |
% | 直接量符號零蓉。 |
例:將大寫改為小寫笤受,并且在每個大寫前插入‘-’,但不包括頭部敌蜂。
'AbcDefGhI'.replace(/[A-Z]/g,'-$&').replace(/^-/,'').toLowerCase()
//輸出:"abc-def-gh-i"