この記事でのバージョン
Unity 6000.0.34f1
はじめに
UnityのTMP(TextMesh Pro)はタグを使って色々な装飾が出来ますが、
![]() |
そのテキストのログを普通に出そうとしても、タグの部分は表示されません。
//TMPのテキスト(タグ付き)の内容をログで表示 Debug.Log($"TextMeshProの内容 : {_text.text}");
![]() |
という事今回はタグ付きテキストを、Consoleのログにそのまま表示する方法の紹介です!
![]() |
タグ付きテキストを、Consoleのログにそのまま表示する方法
やり方は色々考えられますが、今回はゼロ幅スペース (\u200B)という、
何も表示されないが、存在してるスペースを使います。
具体的には以下のような感じで、タグの<の後と>の前にゼロ幅スペースを足します。
これによりタグが無効化されて、ログに表示されるようになります。(ゼロ幅スペースは表示されない)
Debug.Log($"TextMeshProの内容(そのまま) : {_text.text}"); Debug.Log($"TextMeshProの内容(タグ表示) : {_text.text.Replace("<", "<\u200B").Replace(">", "\u200B>")}");
![]() |
なお、頻繁に使うようだったらstringの拡張メソッドにするのもオススメです。
/// <summary> /// タグを無効化した文字列を取得 /// </summary> public static string GetDisableTagText(this string self) { return self.Replace("<", "<\u200B").Replace(">", "\u200B>");//ゼロ幅スペースを挿入することでタグを無効化(ログで表示されるように) }
Debug.Log($"TextMeshProの内容(タグ表示) : {_text.text.GetDisableTagText()}");


