UGUI是不支持emoji表情的,屏蔽的方法也非常簡單寺鸥。
核心語句只有一句:string result = Regex.Replace(strText, @"\p{Cs}", "");//屏蔽emoji
具體看實際案例:
在一個場景里建立一個InputField輸出框和一個text锣枝。Text用來顯示輸入框輸入的內(nèi)容窿撬。在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;//將輸入的內(nèi)容賦值給strText
stringresult?=?Regex.Replace(strText,?@"\p{Cs}","");//屏蔽emoji
this.GetComponent().text=?result;
}
}
測試:
在幾個漢字后輸入emoji表情
下圖中苗分,紅色的字是Text里的內(nèi)容,在其下面是輸入框輸入的內(nèi)容牵辣。那個方塊問號就是emoji表情(因為UGUI不識別所以就是如此模樣)摔癣。由此明顯看到emoji表情被屏蔽掉了。