UGUI是不支持emoji表情的,屏蔽的方法也非常简单。

核心语句只有一句:string result = Regex.Replace(strText, @"\p{Cs}", "");//屏蔽emoji 


具体看实际案例:

在一个场景里建立一个InputField输出框和一个text。Text用来显示输入框输入的内容。在Text上加个脚本getsting;然后把InputField里的text拖到这个Text的脚本里。

UGUI如何屏蔽emoji表情_输入框


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表情

UGUI如何屏蔽emoji表情_Text_02


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

UGUI如何屏蔽emoji表情_输入框_03