首页 > 其他分享 >文字脱敏

文字脱敏

时间:2024-02-28 11:35:00浏览次数:19  
标签:文字 const string keyword text replaceCount 脱敏 replacement


/**
 * 将文本中特定关键词前面的指定数量的字符替换为指定的字符串。
 * @param text - 待处理的文本。
 * @param options - 选项对象,包括 keyword、replaceCount 和 replacement 字段。
 * @returns 处理后的文本。
 */
function replacePrefix(text: string, options?: { keyword?: string, replaceCount?: number, replacement?: string }): string {
    // 默认选项
    const defaultOptions = {
        keyword: '(市|县|区|同志)',
        replaceCount: 2,
        replacement: '*'
    };

    // 合并选项
    const { keyword, replaceCount, replacement } = { ...defaultOptions, ...options };

    // 构造正则表达式模式
    const pattern = new RegExp(`(.{${replaceCount}})(${keyword})(?:(?!\\2).)*?`, 'g');
    // 如果文本中不存在匹配模式,则直接返回原始文本
    if (!pattern.test(text)) {
        return text;
    }
    // 替换匹配的部分
    const replacedText = text.replace(pattern, (match, p1, p2) => {
        return replacement.repeat(replaceCount) + p2;
    });
    return replacedText;
}

// 测试
const text1 = '去问人体市去问人体区';
console.log(replacePrefix(text1)); // 输出: 去问**市去问**区

const text2 = '去问人体同志去问人体区';
console.log(replacePrefix(text2)); // 输出: 去问**同志去问**区

标签:文字,const,string,keyword,text,replaceCount,脱敏,replacement
From: https://www.cnblogs.com/hjk1124/p/18039804

相关文章

  • 高效的PDF文字提取技术
    无论是行政法规、学术论文还是企业合同,PDF文档为我们提供了一种便捷、稳定的信息传递方式。然而,从PDF文件中提取文本信息对于数据分析、内容编辑等后续处理来说至关重要。PDF文本提取技术是一种可以从各类PDF文档中准确抽取文字的技术手段。无论是书籍、报告、信件,该技术都能够通......
  • Java中使用Graphics2D实现图片添加文字/图片水印
    场景java实现给图片添加水印实现步骤:获取原图片对象信息(本地图片或网络图片)添加水印(设置水印颜色、字体、坐标等)处理输出目标图片。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、新建工具类 importorg.apache.commons.lang3.StringUtils;importjavax.im......
  • SpringBoot/Java中OCR实现,集成Tess4J实现图片文字识别
    场景TesseractTesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。https://github.com/tesseract-ocr/tesseractTess4JTess4......
  • Flutter中如何计算一个Container可以完美填充多少文字
    要想知道一个Container可以填满多少个文字,我们只需算出一行可以填充的文字数量,再算出可以填充的最大行数,将两者相乘就行。遇到问题先干嘛?当然是用搜索引擎先检索一下答案。我检索到了一篇标题为《Flutter-如何计算文字宽高》的文章(因为我在站内没有搜到这篇文章,所有有兴趣的可......
  • Excel表格设置指定字变色的方法(查了好多都是包含指定文字的行变色)
    原文链接:https://jingyan.baidu.com/article/f25ef2547baff7092d1b8267.html1、选中目标列,点击条件格式2、选择新建规则3、选择只为包含以下内容的单元格设置格式,在特定文本选项下输入文字,点击格式。 4、选择文字颜色  5、点确定 ......
  • C# 让label标签控制中的文字内容居中显示的方法
    C#让label标签控制中的文字内容居中显示的方法第一步、设置Autosize的值为false第二步、拉大这个label框的宽度第三步、设置label属性里的TextAlign为MiddleCenter,意思是让框里的文字内容居中转载:https://blog.csdn.net/qq15577969/article/details/89887647......
  • python 图片转文字小工具
    应群友要求,要做一个图片转文字的格式,因为有些人的简历中只有一张图片要提取他里面的文字就不好办了。于是就有了下面这个小工具:功能:选择要识别的图片后,识别出来后存到.txt文本中。实现原理,基于百度“文字识别”通用版的api接口调用。有一点需要说明的是可能无法识别百分百准确......
  • 实现两个输入框互动,一个输入框写文字自动出现在第二个输入框里面
    我们可以为第一个输入框添加一个事件监听器来监听输入(比如input事件),每当第一个输入框的值发生变化时,就会将这个值同步到第二个输入框中。第二个输入框不需要添加这样的监听器,因此它的输入不会影响第一个输入框。以下是一个示例HTML结构和使用jQuery实现的脚本:`Input......
  • 【C++】判断回文字符串。回文指的是顺读和逆读都一样的字符串。例如,“tot”和“otto”
    //判断字符串是否是回文字符串(考虑大小写,空格和标点符号)boolpalindrome1(string&str){stringret;for(auto&c:str){if(isalpha(c)){if(isupper(c)){ret.push_back(tolower(c));}else{ret.push_back(c);}......
  • css 文字垂直居中
    方法一:使用flex布局<style>.container{display:flex;align-items:center;height:100px;}</style><divclass="container"><span>要居中的文本</span></div>方法二:使用定位和transform可以通过将......