永发信息网

c# winform 实现屏蔽不良文字

答案:2  悬赏:40  手机版
解决时间 2021-07-19 19:08
  • 提问者网友:像風在裏
  • 2021-07-18 19:00

不要告诉我实现数组循环替换,因为我不知道需要屏蔽哪些关键字,

我需要现成的代码。最好把需要屏蔽的关键字单独放一个文件,

可以对文件修改实现增加和修改关键字

速度解决 做的好加分

最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-07-18 20:09

给你几个实现思路:


1.尝试使用正则表达式实现


2.


1.把你要屏蔽的关键字存放在配置文件中,用逗号隔开每个关键字


例如:


<add name="Guanjianzi" ConnectionString="搜索,你好" ... />


2.在程序进行提交操作时,读取出配置文件中的关键字保存在字符串中,之后用String.Split方法根据逗号进行分割,然后把分割后的一个个独立关键字保存在string数组中,之后循环遍历该数组,把用户输入的需要进行验证的文本进行比较,一旦发现用户输入的文本中包含关键字,则禁止用户进行相应操作!



全部回答
  • 1楼网友:神的生死簿
  • 2021-07-18 21:27

//屏蔽不良文字

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|无视|没有

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯