3 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
我的理解是:如果str符合/\n|\r|\t/g 這個(gè)匹配要求,則進(jìn)入function
也就是說如果str.match(/\n|\r|\t/g)!=null 就將str.match(/\n|\r|\t/g)傳入fuction
所以那個(gè)ch=str.match(/\n|\r|\t/g)
然后把替換后的ch再放回去,這個(gè)就不是match的功能而是replace的功能了

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
ch,或者word都可以……
首先我們來了解下基本的語法:string.replace(regexp, replacement)
regexp :您要執(zhí)行替換操作的正則表達(dá)式,如果傳入的是一個(gè)字符串,那就會(huì)當(dāng)作普通字符來處理,并且只會(huì)執(zhí)行一次替換操作;如果是正則表達(dá)式,并且?guī)в?global (g) 修飾符,則會(huì)替換所有出現(xiàn)的目標(biāo)字符,否則,將只執(zhí)行一次替換操作。
replacement :您要替換成的字符。
返回值是執(zhí)行替換操作后的字符串。
下面用幾個(gè)例子來詳細(xì)的說明下:
1、String.replace( ) 替換所有出現(xiàn)的目標(biāo)字符
Code:
var text= "javascript 非常強(qiáng)大 !JAVASCRIPT 是我最喜歡的一門語言 !";
text.replace(/javascript/ig, "JavaScript");
// 返回:JavaScript 非常強(qiáng)大 !JavaScript 是我最喜歡的一門語言 !
2、String.replace( ) 實(shí)現(xiàn)調(diào)換位置
Code:
var name= "aaaa, bbcc";
name.replace(/(\w+)\s*,\s*(\w+)/, "$2 $1");
// 返回:bbcc aaaa
3、String.replace( ) 實(shí)現(xiàn)將所有雙引號(hào)包含的字符替換成中括號(hào)包含的字符
Code:
var text = '"JavaScript" 非常強(qiáng)大!';
text.replace(/"([^"]*)"/g, "[$1]");
// 返回:[JavaScript] 非常強(qiáng)大!
4、String.replace( ) 將所有字符首字母大寫
Code:
var text = 'a journey of a thousand miles begins with single step.';
text.replace(/\b\w+\b/g, function(word) {
return word.substring(0,1).toUpperCase( ) +
word.substring(1);
});
// 返回:A Journey Of A Thousand Miles Begins With Single Step.

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
var str = "sdf\n\t1";
alert(str);
str = str.replace(/\n|\r|\t/g, function(ch) {
switch (ch) {
case "\n": return "\\n";
case "\r": return "";
case "\t": return "\\t";
}
});
alert(str);
在執(zhí)行前,執(zhí)行后分別alert一下就知道什么意思啦
\n\r\t都是轉(zhuǎn)義字符
\n 換行
\r 返回
\t 制表
添加回答
舉報(bào)