UGUI如何屏蔽emoji表情
原创
©著作权归作者所有:来自51CTO博客作者紫龙大侠的原创作品,请联系作者获取转载授权,否则将追究法律责任
UGUI是不支持emoji表情的,屏蔽的方法也非常简单。
核心语句只有一句:string result = Regex.Replace(strText, @"\p{Cs}", "");//屏蔽emoji
具体看实际案例:
在一个场景里建立一个InputField输出框和一个text。Text用来显示输入框输入的内容。在Text上加个脚本getsting;然后把InputField里的text拖到这个Text的脚本里。

getsting脚本源码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Text.RegularExpressions;
public class getsting : MonoBehaviour {
public GameObject InputFieldstext;
string strText;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
strText = InputFieldstext.GetComponent<Text>().text;//将输入的内容赋值给strText
string result = Regex.Replace(strText, @"\p{Cs}", "");//屏蔽emoji
this.GetComponent<Text>().text= result;
}
}
测试:
在几个汉字后输入emoji表情

下图中,红色的字是Text里的内容,在其下面是输入框输入的内容。那个方块问号就是emoji表情(因为UGUI不识别所以就是如此模样)。由此明显看到emoji表情被屏蔽掉了。
