/** * 替換字元串,預設替換 ""。傳遞 regExps,一個正則表達式數組。 * * @param source 被修剪的字元串 * @param regExps 正則表達式,找到匹配的字元串,然後替換掉 * @param replacement 不傳遞,預設被替換的字元串是 ""。傳遞的數組 ...
/**
* 替換字元串,預設替換 ""。傳遞 regExps,一個正則表達式數組。
*
* @param source 被修剪的字元串
* @param regExps 正則表達式,找到匹配的字元串,然後替換掉
* @param replacement 不傳遞,預設被替換的字元串是 ""。傳遞的數組等於 regExps 的長度,就一一對應進行替換。如果傳遞的
* 數組小於 regExps,就與前幾個進行對應替換,其餘的用預設 "" 替換。
*/
function regTrim(source: string, regExps: RegExp[], replacement?: string[]) {
let replaced = source;
let substitute = "";
for (let i = 0; i < regExps.length; i++) {
if (!replacement) substitute = "";
else {
if (!replacement[i]) substitute = "";
else substitute = replacement[i];
}
replaced = replaced.replace(regExps[i], substitute);
}
return replaced;
}
function regTrim(source, regExps, replacement) {
let replaced = source;
let substitute = "";
for (let i = 0; i < regExps.length; i++) {
if (!replacement) substitute = "";
else {
if (!replacement[i]) substitute = "";
else substitute = replacement[i];
}
replaced = replaced.replace(regExps[i], substitute);
}
return replaced;
}
舉例一:替換文本中的 "閱讀"、"摘要:",把第一個去掉,第二個變成“簡略信息”。
let text = "閱讀。。。。Hello World。摘要:Hello World Hello World Hello World";
regTrim(text, [/閱讀/g, /摘要:/g], ["", "簡略信息"]);
舉例二:去掉文本中的 "閱讀"、"摘要:":
regTrim(text, [/閱讀/g, /摘要:/g]);