【Unity】指定した文字列を別の文字列に置き換える方法(IndexOf, Substring, Replace)

2022年5月2日

どうも、だらはです。
今回は、文字列を検索して任意の文字列に置き換える方法を紹介したいと思います。

スポンサーリンク

具体例で解説

早速ですが方法を記載していきたいと思います。
以下3つの関数を用いて実現します。

  • IndexOf:指定した文字の位置を返す。
  • Substring:指定した位置の文字列を返す。
  • Replace:指定した文字列を別の文字列に置き換える

◆スクリプト(コメントに詳細記載)


//検索対象の文字列
string nameItem = "場所変えの杖[5]";
//検索対象の文字列.IndexOf("検索したい文字列");
//により、"["の位置である6をnumに格納する。
int num = nameItem.IndexOf("[");
//検索対象の文字列.Substring("開始文字位置","取得したい文字数");
//により、"["の次の文字列である5をstrに格納する。
string str = nameItem.Substring(num + 1, 1);
//検索対象の文字列.Replace("置き換えたい文字列","置き換える文字列")
//により、5を4に置き換える。
nameItem = nameItem.Replace(str, 4.ToString());

最後に

いかがでしたでしょうか。
今回の例では、場所替えの杖[5]の使用回数を減らす処理を想定してスクリプトを書いてみました。
やや面倒な処理をしている気がするので、より良い方法をご存じの方はコメント頂けると嬉しいです!

以上、だらはでした。

スポンサーリンク

応用

Posted by daraha_gm