不要告诉我实现数组循环替换,因为我不知道需要屏蔽哪些关键字,
我需要现成的代码。最好把需要屏蔽的关键字单独放一个文件,
可以对文件修改实现增加和修改关键字
速度解决 做的好加分
不要告诉我实现数组循环替换,因为我不知道需要屏蔽哪些关键字,
我需要现成的代码。最好把需要屏蔽的关键字单独放一个文件,
可以对文件修改实现增加和修改关键字
速度解决 做的好加分
给你几个实现思路:
1.尝试使用正则表达式实现
2.
1.把你要屏蔽的关键字存放在配置文件中,用逗号隔开每个关键字
例如:
<add name="Guanjianzi" ConnectionString="搜索,你好" ... />
2.在程序进行提交操作时,读取出配置文件中的关键字保存在字符串中,之后用String.Split方法根据逗号进行分割,然后把分割后的一个个独立关键字保存在string数组中,之后循环遍历该数组,把用户输入的需要进行验证的文本进行比较,一旦发现用户输入的文本中包含关键字,则禁止用户进行相应操作!
//屏蔽不良文字
public String C(String text) {
String strFilePath = Server.MapPath("~/a.log");//此处为ASP.NET写法获取站点根路径文件。改成winform 就是取当前运行程序路径就可以了。例如AppDomain.CurrentDomain.BaseDirectory
System.IO.StreamReader sr = new System.IO.StreamReader(strFilePath, System.Text.Encoding.GetEncoding("gbk"));//此处应填写你屏蔽的关键文件(相当于词库)的编码。一般是GBK 和 UTF-8
String[] textlist = sr.ReadToEnd().Split('|'); sr.Close();
foreach (String t in textlist) { text = text.Replace(t,"");//不良文字替换成空或者其他操作//或者设置一个标志直接返回不替换,告诉用户这个标志的文字是不良文字 }
return text;
}
词库格式为: 我|123|无视|没有