UGUIやTextMeshProUGUIでテキストの改行数を取得したかったのでやってみました。
TextMeshProUGUI(以降TMP)に改行数を取得するメソッドが見当たらなかったのでTMPのテキストをString型に入れて処理した結果を返しています。
下記はTextMeshProUGUIのテキストの改行数を取得するコードです。
Replaceメソッドで改行コード(\n)を削除し、
元の文字数との差を出し、何行改行されているかを調べています。
[SerializeField] private TextMeshProUGUI tmp; void Start() { int lineCnt = GetLine(tmp.text); Debug.Log(lineCnt); } /// <summary> /// 改行数を取得 /// </summary> int GetLine(string str) { string before = str; string after = str.Replace("\n", ""); int ret = before.Length - after.Length; return ret; }
コメント