首页天道酬勤c语言屏蔽一段代码快捷键,java敏感词过滤算法

c语言屏蔽一段代码快捷键,java敏感词过滤算法

张世龙 05-06 08:38 48次浏览

本文实例阐述了C#敏感词过滤的实现方法。 分享给大家参考。 具体如下。

这两天,突然想到敏感的单词过滤,结合在网上找到的资料自己写了一个。 肮脏的单词数是700。 (效率不高的测试在110kb以上时比replace快3-4倍) )。

测试结果图表单位:秒

代码如下。

system.text.stringbuilder sb=new system.text.stringbuilder (text.length );

string filterText='需要过滤的脏字符用|分开';

//潦草的字可以按照自己的方式使用分隔符

string [ ] filter data=filter text.split ('|';

foreach (可变信息过滤器) )。

{

char value=item[0];

(if(Diclist.containskey(value ) ) ) ) ) ) ) ) ) )。

DIClist[value].add(item );

else

diclist.add(value,new List ) ) { item };

}

int count=text.Length;

for(intI=0; I计数; I )

{

char word=text[i];

如果此密钥存在于if(diclist.containskey(word ) )//词典表中

{

int num=0; //找到匹配的关键字或找不到10

vardata=DIC list [ word ].order by (g=g.length );

//按字符数对该key的词典集合进行排序(以下,便于从少到多的字符串进行查找) ) ) )。

Foreach(varwordbookindata )。

{

if(Iwordbook.Length=count ) )。

//在要剪切的字符串的索引小于总长度时执行剪切

{

stringresult=text.substring(I,wordbook.Length );

//根据关键字的长度向后剪切相同的字符数进行比较

if(result==wordbook ) ) )。

{

num=1;

sb.append (获取字符串) result );

i=i wordbook.Length - 1;

//在比较成功的同时改变I的索引

布雷克;

}

}

}

if(num==0) )。

sb.append(word;

}

else

sb.append(word;

}

return sb.ToString (;

}

//

//替换星号

//

//

//

隐私统计信息getstring (字符串值)

{

string starNum=string.Empty;

for(intI=0; i value.Length; I )

{

starNum ='* ';

}

返回星号;

}

还有需要优化的地方

如果有更好的方法请告诉我。 说明原理

希望本文所述对大家的C#编程有帮助。

时间: 2015-05-15

前端自动化测试框架,毕业设计说明书财务系统设计