UGUI是不支持emoji表情的,屏蔽的方法也非常简单。
核心语句只有一句:string result = Regex.Replace(strText, @"\p{Cs}", "");//屏蔽emoji
具体看实际案例:
在一个场景里建立一个InputField输出框和一个text。Text用来显示输入框输入的内容。在Text上加个脚本getsting;然后把InputField里的text拖到这个Text的脚本里。
getsting脚本源码:
[csharp]view plaincopy
usingUnityEngine;
usingSystem.Collections;
usingUnityEngine.UI;
usingSystem.Text.RegularExpressions;
publicclassgetsting : MonoBehaviour {
publicGameObject InputFieldstext;
stringstrText;
// Use this for initialization
voidStart () {
}
// Update is called once per frame
voidUpdate () {
strText = InputFieldstext.GetComponent().text;//将输入的内容赋值给strText
stringresult = Regex.Replace(strText, @"\p{Cs}","");//屏蔽emoji
this.GetComponent().text= result;
}
}
测试:
在几个汉字后输入emoji表情
下图中,红色的字是Text里的内容,在其下面是输入框输入的内容。那个方块问号就是emoji表情(因为UGUI不识别所以就是如此模样)。由此明显看到emoji表情被屏蔽掉了。
网友评论