摘要: 这段时间开发一个聊天室,需要使用到关键字过滤的功能,需求如下: 1.将关键字替换成“*”; 2.支持过滤HTML,例如,S<span>B</span>也要过滤掉。 原本打算使用String.Replace来实现,但是这样的话,如果关键字很多,例如1000个,用以下方式: for(int i=0;i<1000;i++) { replace…. } 来实现,性能显然很低。因此,换了一种方法,用了Hashtable来提高过滤的性能。大概思路如下: 根据所有关键字建好用Hashtable数据结构,也可以理解为建立索引,之后每次过滤都用这个来进行: 例如,有以下几个关键字
阅读全文
posted @ 2011-06-30 00:09 卢春城 阅读(2402) 评论(19)
编辑