String 對象之 replace方法

一、基本語法:

replace(regexp|substr, newSubStr|function[, flags]);

二、參數介紹:

1)參數一:

a)regexp:一個 RegExp 對象.該正則所匹配的內容會被第二個參數的返回值替換掉.

b)substr:被替換掉的一個 String.

2)參數二:

a)newSubStr:替換掉第一個參數在原字符串中的匹配部分.該字符串中可以內插一些特殊的變量名.

  • $$ 插入一個 "$"。

  • $& :插入匹配的子串。

  • $ ` :插入當前匹配的子串左邊的內容。

  • $' :插入當前匹配的子串右邊的內容。

  • $n or $nn :假如第一個參數時 RegExp對象,并且n或nn是個十進制的數字,那么插入第n個括號匹配的字符串。

b)function(match,[p1,p2,...,p99],offset,string):創建新的子串,參數解釋如下.

  • match:匹配的子串(對應于上述的$&

  • p1,p2,...p99:第n個括號子匹配字符串,提供替換的第一個參數是一個正則表達式對象。

  • offset:匹配子串在字符串中的開始位置(從0開始),例如"abcd",正則/bc/,offset = 1.

  • string:當前操作的字符串

3)參數三(可選,在V8內核(chrome and nodejs)中不起作用):

  • flags:指定正則表達式的匹配模式,可選值:

  • g:全局替換

  • i:忽略大小寫

  • m:多行替換

  • y:?

三、實戰

1、字符串倒置


function(str){

return str.replace(/(\w+)(\s+)(\w+)/g,"$3$2$1");

}

2、一般式轉化為駝峰式


function(str){

return str.replace(/-(\w)/g,function(str,$1){

return $1.toUpperCase();

})

}

3、駝峰式轉化為一般市


function(str){

return str.replace(/[A-Z]/g,function(str){

return "-"+str.toLowerCase();

})

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容