文字列を切り出す方法
string.Substring()メソッドの引数に 開始位置のインデックス と、取り出す文字数 を指定します。文字数を省略すると末尾まで切り出します。元の変数の値は変わらず、新しい文字列が返されます。string 結果「開始位置~末尾の文字」= 文字列.Substring(開始位置「0~」);
string 結果「開始位置~指定文字数」= 文字列.Substring(開始位置「0~」, 切り出す文字数);
- 開始位置に 文字列.Length以上 の値を指定すると、例外「System.ArgumentOutOfRangeException」が発生します。
- 切り出す文字数に (文字列.Length + 切り出す文字数) 以上の値を指定すると、例外「System.ArgumentOutOfRangeException」が発生します。
- 切り出す文字数に 0(ゼロ) を指定すると、空文字列("" / string.Empty) を返します。
// 元の文字列
string value = "あいうえお";
// インデックス1 から、2文字 取り出す。
string newValue = value.Substring(1, 2);
// Substring(1, 2)の戻り値 = "いう"
Console.WriteLine(newValue);
// 元の文字列は変更されない。結果 = "あいうえお"
Console.WriteLine(value);

次のサンプルコードは文字列を切り出し、表示しています。
// 元の文字列
string value = "あいうえお";
Console.WriteLine(value);
// 結果 = あいうえお
Console.WriteLine(value.Substring(0));
// 結果 = いうえお
Console.WriteLine(value.Substring(1));
// 結果 = い
Console.WriteLine(value.Substring(1, 1));
// 結果 = いうえお
Console.WriteLine(value.Substring(1, 4));
// 結果 = お
Console.WriteLine(value.Substring(4, 1));

参考資料
検証環境
- .NET 6.0
- Microsoft Visual Studio Enterprise 2022 Version 17.2.6
- Microsoft Windows 10 Enterprise Version 22H2 OS Build 19045.2251 Experience: Windows Feature Experience Pack 120.2212.4180.0