JavaScript String.replace函數(shù)參數(shù)實例說明
更新時間:2013年06月06日 17:25:37 作者:
JavaScript String.replace函數(shù)作用是將源自符串中的match替換為replacement并返回替換后的字符串,使用介紹如下,不會的朋友可以了解下哈
Email:longsu2010 at yeah dot net
js String的replace函數(shù)的函數(shù)簽名如下:
replace(match/* 字符串OR正則表達(dá)式 */, replacement/* 字符串OR函數(shù) */)
作用是將源自符串中的match替換為replacement并返回替換后的字符串。
如果第一參數(shù)是字符串就沒什么好說的了,但是要記住此時只在源自符串替換一次match(第一次)函數(shù)就執(zhí)行完成了。
所以第一參數(shù)通常是一個正則表達(dá)式,舉例如下:
replace(/a/g, "b") // 將源自符串中所有的a替換為b。
第二參數(shù)可以是一個字符串,該字符串中可以包含第一參數(shù)正則表達(dá)式的分組,舉例如下:
replace(/(a){2,2}/g, "$1b") // 將源自符串中所有的aa替換為ab。
如果第二參數(shù)是一個函數(shù)的話,那么函數(shù)的參數(shù)是什么呢?舉例如下:
"bbabc".replace(/(a)(b)/g, function(){
console.log(arguments)
});
參數(shù)將依次為:
1、整個正則表達(dá)式匹配的字符。
2、第一分組匹配的內(nèi)容、第二分組匹配的內(nèi)容…… 以此類推直到最后一個分組。
3、此次匹配在源自符串中的下標(biāo)(位置)。
4、源自符串
所以例子的輸出是
["ab", "a", "b", 2, "bbabc"]
第二參數(shù)的返回值將會被替換到源自符串中,因若js函數(shù)無返值那么調(diào)用函數(shù)會得到undefined,所以如果第二參數(shù)無返回值undefined將會被替換到源自符串中。
如果第一參數(shù)是一個字符串,同時第二參數(shù)是一個函數(shù)的話,那就當(dāng)成第一參數(shù)是一個沒有分組的正則表達(dá)式好了,這樣就可以確定第二參數(shù)的參數(shù)了。
文中有一些表述不當(dāng)之處,如“替換到源自符串中”(源自符串只是充當(dāng)模板的角色,并不真正發(fā)生改變,字符串是不可改變的變量),希望不會誤導(dǎo)大家。
js String的replace函數(shù)的函數(shù)簽名如下:
replace(match/* 字符串OR正則表達(dá)式 */, replacement/* 字符串OR函數(shù) */)
作用是將源自符串中的match替換為replacement并返回替換后的字符串。
如果第一參數(shù)是字符串就沒什么好說的了,但是要記住此時只在源自符串替換一次match(第一次)函數(shù)就執(zhí)行完成了。
所以第一參數(shù)通常是一個正則表達(dá)式,舉例如下:
replace(/a/g, "b") // 將源自符串中所有的a替換為b。
第二參數(shù)可以是一個字符串,該字符串中可以包含第一參數(shù)正則表達(dá)式的分組,舉例如下:
replace(/(a){2,2}/g, "$1b") // 將源自符串中所有的aa替換為ab。
如果第二參數(shù)是一個函數(shù)的話,那么函數(shù)的參數(shù)是什么呢?舉例如下:
復(fù)制代碼 代碼如下:
"bbabc".replace(/(a)(b)/g, function(){
console.log(arguments)
});
參數(shù)將依次為:
1、整個正則表達(dá)式匹配的字符。
2、第一分組匹配的內(nèi)容、第二分組匹配的內(nèi)容…… 以此類推直到最后一個分組。
3、此次匹配在源自符串中的下標(biāo)(位置)。
4、源自符串
所以例子的輸出是
["ab", "a", "b", 2, "bbabc"]
第二參數(shù)的返回值將會被替換到源自符串中,因若js函數(shù)無返值那么調(diào)用函數(shù)會得到undefined,所以如果第二參數(shù)無返回值undefined將會被替換到源自符串中。
如果第一參數(shù)是一個字符串,同時第二參數(shù)是一個函數(shù)的話,那就當(dāng)成第一參數(shù)是一個沒有分組的正則表達(dá)式好了,這樣就可以確定第二參數(shù)的參數(shù)了。
文中有一些表述不當(dāng)之處,如“替換到源自符串中”(源自符串只是充當(dāng)模板的角色,并不真正發(fā)生改變,字符串是不可改變的變量),希望不會誤導(dǎo)大家。
您可能感興趣的文章:
相關(guān)文章
淺談js和css內(nèi)聯(lián)外聯(lián)注意事項
下面小編就為大家?guī)硪黄獪\談js和css內(nèi)聯(lián)外聯(lián)注意事項。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
JavaScript展開操作符(Spread operator)詳解
在本篇文章里小編給大家整理的是關(guān)于JavaScript展開操作符(Spread operator)的詳細(xì)介紹以及用法,需要的讀者們參考下。2019-07-07

