最近写了一个游戏,需要从后端获取排行榜数据,然后呈现在游戏界面上。
但是,在文本中使用转义字符并赋值给Unity uGUI的Text控件时,文本中的转义字符并不会转义。
尝试了\n,\r\n,System.Environment.NewLine,<br>,均不起作用。
如图所示:
经过一番尝试,终于找到了解决方法。
//这是错误的方式:
rankText.GetComponent<Text> ().text = www.text;
//这是正确的方式:
rankText.GetComponent<Text> ().text = System.Text.RegularExpressions.Regex.Unescape(www.text);
这样就成功地解决了问题。
Regex.Unescape方法可以转义输入的字符串中所有的转义字符。
参考:
MSDN:Regex.Unescape 方法 (String)