文字列から文字数で部分文字列を切り出すには.Substring を使用します。
構文
構文
<対象文字列>.Substring(<切り出す開始位置>, [<切り出す文字数>])
開始文字位置は0から数えるので、例えば3文字目からなら2を指定します。
<切り出す文字数>は省略した場合、文字列末尾までと判断されます。
サンプル
例)文字列を切り出す
//元の文字列
string str = "ABCDEFGHIJ";
//先頭3文字を切り出す
string a = str.Substring(0, 3);
a → "ABC"
//2文字目から3文字を切り出す
string b = str.Substring(1, 3);
b → "BCD"
//3文字目から最後までを切り出す
string c = str.Substring(2);
c → "CDEFGHIJ"
※第2引数(切り出す文字数)が対象文字列の文字数を超えていると例外が発生します。
ダメ例1)文字列切り出しでエラーになる例1
元の文字列を超えるサイズを切り抜こうとしているためエラーになります。
//元の文字列
string str = "ABCDE";
//3文字目から10文字を切り出す
string d = str.Substring(2, 10);
→ 例外発生
「System.ArgumentOutOfRangeException: 'Index and length must refer to a location within the string. '」が発生します。
ダメ例2)文字列切り出しでエラーになる例2
元の文字列を超える位置から切り抜こうとしているためエラーになります。
//元の文字列
string str = "ABCDE";
//10文字目以降を切り出す
string e = str.Substring(10);
→ 例外発生
「System.ArgumentOutOfRangeException: 'startIndex cannot be larger than length of string. '」が発生します。
備考
- 第2引数を省略すると、文字列の末尾までという意味になります。
- 第2引数を指定する時は、文字列の長さを超えないようにご注意ください。