zoukankan      html  css  js  c++  java
  • Java如何将字符串中的敏感词替换为相等数量的星号*

    Java如何将字符串中的敏感词替换为相等数量的星号*

    Java如何将字符串中的敏感词替换为相等数量的星号*,这也是我工作中遇到的问题,尝试了很多种方式最后采用这一种,在这里分享一下我的解决方式,代码效率还行,希望对大家有用。如果大家有什么好的方式也欢迎分享!

     /**
         * 过滤字符串中的敏感词汇
         * @param content   文本
         * @param sensitiveWord   敏感词汇
         * @return
         */
        public String filterSensitiveWords(String content, String sensitiveWord) {
    
            if (content == null || sensitiveWord == null) {
                return content;
            }
    
            //获取和敏感词汇相同数量的星号
            String starChar = getStarChar(sensitiveWord.length());
    
            //替换敏感词汇
            return content.replace(sensitiveWord, starChar);
        }
    
        //大部分敏感词汇在10个以内,直接返回缓存的字符串
        public static String[] starArr={"*","**","***","****","*****","******","*******","********","*********","**********"};
    
        /**
         * 生成n个星号的字符串
         * @param length
         * @return
         */
        private static String getStarChar(int length) {
            if (length <= 0) {
                return "";
            }
            //大部分敏感词汇在10个以内,直接返回缓存的字符串
            if (length <= 10) {
                return starArr[length - 1];
            }
    
            //生成n个星号的字符串
            char[] arr = new char[length];
            for (int i = 0; i < length; i++) {
                arr[i] = '*';
            }
            return new String(arr);
        }
    版权声明:转载请注明出处 https://www.cnblogs.com/cblogs/p/filterSensitiveWords.html
  • 相关阅读:
    8.26 Linux的目录机构与目录管理
    8.26 基础命令
    8.26 系统基础
    8.26 课程介绍
    8.21-23 awk
    8.20 数组与字符
    8.19 函数
    8.16 sed命令
    Linux操作系统--初级--Linux的目录结构与目录管理
    Linux操作系统--初级--基础命令
  • 原文地址:https://www.cnblogs.com/cblogs/p/filterSensitiveWords.html
Copyright © 2011-2022 走看看