【C#】文字列から指定した範囲を取得する

文字列から指定した範囲を取得する

文字列から指定した範囲を取得するにはSubstringを使います。
Substring
名前空間:System

String 変数名 = "文字列"
変数名.Substring(先頭から何番目から取得するか,取得する文字列の長さ);

先頭から何番目から取得するかを入力する時は、1文字目は0番目としてカウントされるのでご注意ください。

String a = "0123456789";
String b = a.Substring(3, 4);
Console.WriteLine("{0}",b);

例を実行するとコマンドプロントに「3456」と表示されます。
先頭から3番目の文字から4文字分を取得したことになります。

指定した番号以降の文字列を全て取得する

指定した番号以降の文字列を全て取得するには、取得する文字列の長さを指定しないとできます。
長さを指定しないと、「先頭から何番目から取得するか」で指定した番号以降の文字列を全て取得します。

String a = "0123456789";
String b = a.Substring(3);
Console.WriteLine("{0}",b);

例を実行するとコマンドプロントに「3456789」と表示されます。
先頭から3番目の文字列以降が取得されました。

文字列を後ろから取得する

文字列が長い場合に、文字列を先頭から何番目かを指定するのではなく、後ろから何文字を指定して取得することができます。

String a = "0123456789"; //文字列の指定をします
int b = a.Length - 4; //文字列の長さから取得したい文字数を引くと、取得したい文字の開始する番号になります
String d = a.Substring(b); //Substringに取得したい文字数の開始する番号の変数bを代入します
Console.WriteLine("{0}", d);

例を実行すると「6789」が表示され、文字列の後ろから4文字を取得できます。
2行目は「int b = a.Length – 4; 」はLengthで文字列の長さを取得し、そこから取得したい文字数を引くと、取得したい文字の開始する番号になります。
3行目でその番号を「a.Substring(b)」でSubstringの()に指定すれば、後ろから取得することになります。