发布时间:2022-12-05 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印
/**
 * 替换字符串,默认替换 ""。传递 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]);