You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					
					
						
							63 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							63 lines
						
					
					
						
							1.8 KiB
						
					
					
				package com.ynxbd.common.helper.cache;
 | 
						|
 | 
						|
import com.ynxbd.common.helper.common.FileHelper;
 | 
						|
 | 
						|
import java.util.List;
 | 
						|
 | 
						|
// 敏感词汇过滤
 | 
						|
public class TextCache {
 | 
						|
    // 缓存
 | 
						|
    private static List<String> textList;
 | 
						|
 | 
						|
    private synchronized static void getTextList() {
 | 
						|
        if (textList == null) {
 | 
						|
            textList = FileHelper.readLineToList("wx-text.text");
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public static String textFilter(String text) {
 | 
						|
        if (text == null || "".equals(text)) {
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
        if (textList == null) { // 初始化
 | 
						|
            getTextList();
 | 
						|
        }
 | 
						|
        if (textList == null) {
 | 
						|
            return text;
 | 
						|
        }
 | 
						|
 | 
						|
        if (textList.size() == 0) {
 | 
						|
            return text;
 | 
						|
        }
 | 
						|
        StringBuilder sb;
 | 
						|
        int len;
 | 
						|
        for (String s : textList) {
 | 
						|
            len = s.length();
 | 
						|
            if (text.contains(s)) {
 | 
						|
                if (len > 3) {
 | 
						|
                    sb = new StringBuilder();
 | 
						|
                    for (int i = 0; i < len; i++) {
 | 
						|
                        sb.append("*");
 | 
						|
                    }
 | 
						|
                    text = text.replaceAll(s, "*");
 | 
						|
                } else {
 | 
						|
                    if (len == 1) {
 | 
						|
                        text = text.replaceAll(s, "*");
 | 
						|
                    } else if (len == 2) {
 | 
						|
                        text = text.replaceAll(s, "**");
 | 
						|
                    } else if (len == 3) {
 | 
						|
                        text = text.replaceAll(s, "***");
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return text;
 | 
						|
    }
 | 
						|
 | 
						|
    public static void main(String[] args) {
 | 
						|
        String s = textFilter("批次编号:20043945妇科材料库“一次性使用无菌阴道扩张器中号A型轴转式”的库存为2已不足执行2个过程失败!");
 | 
						|
        System.out.println(s);
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
 |