【Unity】string文字列を削除するRemoveの使い方

2022年12月25日

どうも、だらはです。
今回は、string文字列を削除するRemoveの使い方についてまとめたいと思います。

もし、指定した文字列を別の文字列に置き換えたい場合、以下の記事に方法をまとめましたので参照下さい。

◆IndexOf, Substring, Replaceの使い方

スポンサーリンク

使い方

早速ですが、コードを記載していきます。
初期値「あいうえお」に対して、ボタン押下で語尾を削除し、その処理結果を画面に表示するという仕様です。
先日、TextMeshProについてまとめたばかりなので、従来のuGUIによる手法と、TextMeshProによる両コードを記載します。

◆スクリプト(コメント部はuGUI手法)



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using UnityEngine.UI;
using TMPro;

public class TextWrite : MonoBehaviour
{
    //Text text;
    TextMeshProUGUI text;
    string strBuffer;

    void Awake()
    {
        strBuffer = "あいうえお";

        //text = GameObject.Find("Image/Text").GetComponent<Text>();
        text = GameObject.Find("Image/Text (TMP)").GetComponent<TextMeshProUGUI>();
    }

    void Update()
    {
        text.text = strBuffer;
    }

    public void DelOneBuffer()
    {
        //文字列の長さを取得
        int lenBuffer = strBuffer.Length;

        if (lenBuffer > 0)
        {
            //最後尾の文字を削除する
            strBuffer = strBuffer.Remove(lenBuffer - 1, 1);
        }
    }
}

削除する文字は、Removeに指定する引数により調整できます。
・第1引数:削除する文字列の先頭位置
・第2引数:削除する文字列の数

例)末尾2文字を削除する場合

Remove(lenBuffer -2, 2);

◆実行結果

最後に

いかがでしたでしょうか。
今回は、string文字列を削除するRemoveの使い方についてまとめてきました。
TextMeshProで日本語を扱えるようにする方法は以下の記事にまとめましたので、参照頂けたらと思います。

以上、だらはでした。

スポンサーリンク

基礎

Posted by daraha_gm