本記事では「文字列から一部を抜き出す」という内容で書いていきます。
そして、ここではstringクラスの『Substringメソッド』を使って、抜き出したい文字列の開始位置と終了位置を指定して抜き出す方法を解説していきます。
そのSubstringメソッドの記述は下の通りです。
※開始位置は「0」から始まる。
先頭の文字を抜き出す
まず初めに「文字列の先頭の文字を取得する」という内容でやってみます。
1 2 3 4 5 6 7 8 |
private void Sample1() { string str = "01234"; // 先頭の文字を取得する string str1 = str.Substring(0,1); Debug.Log("先頭の文字:" + str1); } |
実行結果
先頭の文字:0
文字列の先頭ですから開始位置は「0」になる。
ですので、Substringメソッドの第一引数は「0」にしている。
そして、開始位置から1文字だけ抜き出したいため、第二引数は「1」にしている。
〇番目の文字から△番目の文字を抜き出す
次に「指定した開始位置から指定した文字数を抜き出す」という内容でやってみます。
下は「2文字目から5文字目までの文字列を抜き出す」になります。
1 2 3 4 5 6 7 8 |
private void Sample1() { string str = "01234"; // 2番目の文字から5番目の文字を取得する string str2 = str.Substring(1, 4); Debug.Log("2番目の文字から5文字目まで:" + str2); } |
実行結果
2番目の文字から5文字目まで:1234
上では2文字目を開始位置にしたいので、Substringメソッドの第一引数は「1」にしている。
そして、5文字目までを抜き出したいので、第二引数は「4」にしている。
先頭から末尾から〇文字目までを抜き出す
最後に「文字列の末尾を指定して抜き出す」でやってみます。
ポイント”末尾の文字番号”を取得したい場合は文字列の文字数を調べれることで解決できます。
文字数はstringクラスの『Lengthメソッド』を使います。
下のコードは「先頭から末尾から1文字前までを抜き出す」という内容になっています。
1 2 3 4 5 6 7 8 9 |
private void Sample1() { string str = "01234"; //先頭から末尾から1文字前までを取得する int length = str.Length; string str3 = str.Substring(0, length - 1); Debug.Log("末尾から1文字前まで:" + str3); } |
実行結果
末尾から1文字前まで:0123
6行目:int length = str.Length;
変数strの文字数を取得している。(5を取得)
7行目:string str3 = str.Substring(0, length – 1);
先頭を開始位置にするため第一引数は「0」にする。
第二引数は末尾から1文字前であるため、「文字数 – 1」にしている。
スポンサーリンク