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
  • 相关阅读:
    C# 泛型约束 xxx<T> Where T:约束(一)
    [cb]UIGrid+UIStretch的自适应
    UIButton vs UIEventListener 事件处理
    NGUI Clip Animation (UI动画)
    TexturePacker的plist切成单独小图片
    Collider Collision 区别
    It’s Time To Think Linq
    [cb]NGUI事件及复杂UI管理
    Unity Mono
    【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
  • 原文地址:https://www.cnblogs.com/cblogs/p/filterSensitiveWords.html
Copyright © 2011-2022 走看看