读书人

敏感词搜寻和替换小框架

发布时间: 2013-10-22 16:17:03 作者: rapoo

敏感词搜索和替换小框架

在中国当游戏程序员,恐怕迟早要遇到敏感词搜索和替换这个问题。我最近就遇到了这个问题,照例先上网搜索了一番,发现介绍各种算法的文章很多,但是能拿来直接用的代码几乎没有。所以我在github上创建了一个项目,设计了这么一个小框架。

Sensitive Word Killer框架

首先介绍一下框架的大概设计

SensitiveWordSearchAlgorithm
public class SimpleReplaceStrategy implements SensitiveWordReplaceStrategy {        // 假设大部分敏感词不超过10个字    private static final int MAX_CHAR_COUNT = 10;        // 预先计算好的字符串    private String[] replacements;    public SimpleReplaceStrategy(final char replacement) {        replacements = new String[MAX_CHAR_COUNT + 1];        replacements[0] = "";        for (int i = 1; i < replacements.length; i++) {            replacements[i] = replacements[i - 1] + replacement;        }    }    @Override    public String replace(String sensitiveWord) {        if (sensitiveWord.isEmpty()) {            return sensitiveWord;        }                // 敏感词字数不超过MAX_CHAR_COUNT        if (sensitiveWord.length() < MAX_CHAR_COUNT) {            return replacements[sensitiveWord.length()];        }                // 敏感词字数超过MAX_CHAR_COUNT        return replacements[MAX_CHAR_COUNT];    }    }
总结Sensitive Word Killer的代码写的比较匆忙,但其目标是容易使用和可扩展。本来想把这篇博客写的很漂亮,但由于自己表达能力有限,最后成了罗列代码。希望这个小框架能被需要它的人看到,哪怕只是带给别人一点启发也就够了。


读书人网 >其他相关

热点推荐