C# 游戏制作中去除敏感字符/串



原理:将输入的字符串转化为字符数组,遍历数组与敏感字符串列表对比,调用Split函数转换单个字符为*,如操。转化连续的字符为**,如中国


方法1:

  Unity里使用:

  工程目录下创建文本文档,添加敏感词便于后续扩展。保存格式UTF-8,可显示中文。文本内存放需要屏蔽的敏感字或串

     public Text tex3;
     //将文本文档放入这里
	public TextAsset asset;
	void Start()
	{
		str_list = new List ();
		String[] cha=asset.text.Split(',');
		for (int i = 0; i < cha.Length; i++)                 
			str_list.Add (cha[i]);
	

	}




//预先将敏感字符/串存入链表或数组
	List str_list;
	//调用该方法,传入UI输入的文字内容或测试的字符串
	public String Trim(string s_tex)
	{            
		
        if(string.IsNullOrEmpty(s_tex)) return;
           String str = s_tex;
         Char[] cha = str.ToCharArray ();
         //转换成字符数组
         int max = cha.Length-1;
       //遍历字符数组
      for (int i = 0; i <max; i++) 
       {
        foreach (var item in str_list) 
       {
       //和已存储在链表中的敏感字符或字符串对比
        if (cha[i].ToString()==item)
       {
       str = str.Replace (cha[i].ToString(),"*");
       //单个敏感字
       }
        if((cha[i].ToString()+cha[i+1].ToString()).ToString()==item)
        {
        str=str.Replace((cha[i].ToString()+cha[i+1].ToString()).ToString(),"**");
        //双敏感字
        }
       }
      }
        return str.ToString ();
    }

方法2:
 只用作C#控制台输出:
将List链表换做数组即可,将测试敏感字存入数组,取Trim()方法调用输出。同Unity中在Start()方法赋值数据


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值