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
  • 相关阅读:
    java9
    java8
    java7
    java6
    java5
    java4
    java-list-分组
    Termux中安装gcc-7/gfortran-7实操过程,安装成功可以编译Fortran,c/c++
    安卓手机牛逼软件Termux中安装Archlinux,安装Jdk
    c++语言的组合类的使用,用组合类的方法计算两点间距离。
  • 原文地址:https://www.cnblogs.com/cblogs/p/filterSensitiveWords.html
Copyright © 2011-2022 走看看