JavaScript String replaceAll()方法

JavaScript 字符串replaceAll()方法介紹
String.prototype.replaceAll(pattern, replacement)
pattern可以是一個字符串或正則表達式。當pattern是正則表達式時,需要包含全局標志( g);否則,replaceAll()將拋出異常。
假設您犯了一個錯誤,并且應該使用replace()方法來替換僅與模式匹配的第一個匹配項。
replacement參數(shù)可以是一個字符串或一個回調(diào)函數(shù)將被調(diào)用的每場比賽。
當replacement是回調(diào)函數(shù)時,它具有以下形式:
replacement(match, offset, str)
該replacement回調(diào)具有下列參數(shù):
match 是匹配的子串。
offset是原始字符串中匹配子字符串的偏移量。例如,如果原始字符串是'Hello',匹配的子字符串是'll',那么offset將是 2。
str 是原始字符串。
與replace()方法一樣,該replaceAll()方法不會更改原始字符串。它返回新的全新字符串,其模式被替換項替換。
JavaScript String replaceAll() 示例
讓我們舉一些使用 JavaScript StringreplaceAll()方法的例子。
1) 簡單的 JavaScriptString replaceAll() 示例
下面的示例使用的字符串replaceAll()方法來代替串JS與串JavaScript字符串'中JS will, JS will, JS will rock you':
let str = 'JS will, JS will, JS will rock you.';let newStr = str.replaceAll('JS','JavaScript');console.log(newStr);
輸出:
JavaScript will, JavaScript will, JavaScript will rock you.
2) JavaScript String replaceAll() 帶回調(diào)函數(shù)示例
下面的示例使用 StringreplaceAll()方法通過正則表達式搜索子字符串。它用回調(diào)函數(shù)確定的特定替換替換每個匹配項:
let str = 'JS will, Js will, js will rock you.';let pattern = /js/gi;str.replaceAll(pattern, function(match, offset, str) {if(match === 'JS') return 'JavaScript';if(match === 'Js') return 'Javascript';if(match === 'js') return 'javascript';return '';});console.log(newStr);
輸出:
JavaScript will, Javascript will, javascript will rock you.
這個怎么運作。
正則表達式/js/gi匹配包含JS不區(qū)分大小寫的子字符串的任何字符串,即JS、Js、 或js。
replaceAll() 方法用替換回調(diào)的返回值替換子串 JS、Js 和 js。
總結(jié)
使用 JavaScript 字符串replaceAll()方法將所有出現(xiàn)的子字符串替換為字符串中的新子字符串。
最后,感謝您的閱讀,如果您覺得今天的內(nèi)容對您有所幫助,也請您分享給您做開發(fā)的朋友,也許能夠幫助到他。
學習更多技能
請點擊下方公眾號
![]()

