3 回答

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

TA貢獻1859條經驗 獲得超6個贊
ch,或者word都可以……
首先我們來了解下基本的語法:string.replace(regexp, replacement)
regexp :您要執行替換操作的正則表達式,如果傳入的是一個字符串,那就會當作普通字符來處理,并且只會執行一次替換操作;如果是正則表達式,并且帶有 global (g) 修飾符,則會替換所有出現的目標字符,否則,將只執行一次替換操作。
replacement :您要替換成的字符。
返回值是執行替換操作后的字符串。
下面用幾個例子來詳細的說明下:
1、String.replace( ) 替換所有出現的目標字符
Code:
var text= "javascript 非常強大 !JAVASCRIPT 是我最喜歡的一門語言 !";
text.replace(/javascript/ig, "JavaScript");
// 返回:JavaScript 非常強大 !JavaScript 是我最喜歡的一門語言 !
2、String.replace( ) 實現調換位置
Code:
var name= "aaaa, bbcc";
name.replace(/(\w+)\s*,\s*(\w+)/, "$2 $1");
// 返回:bbcc aaaa
3、String.replace( ) 實現將所有雙引號包含的字符替換成中括號包含的字符
Code:
var text = '"JavaScript" 非常強大!';
text.replace(/"([^"]*)"/g, "[$1]");
// 返回:[JavaScript] 非常強大!
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貢獻1865條經驗 獲得超7個贊
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);
在執行前,執行后分別alert一下就知道什么意思啦
\n\r\t都是轉義字符
\n 換行
\r 返回
\t 制表
添加回答
舉報