改行数を取得する

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;
    }

コメント

タイトルとURLをコピーしました