Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.Substring() / Remove()
文字列の一部を切り出す『Substring()』と、指定した範囲の文字を削除する『Remove()』メソッドです。
構文
// startIndex の位置から末尾まで切り出します。 文字列.Substring(int startIndex) // startIndex の位置から length 文字分を切り出します。 文字列.Substring(int startIndex, int length) // startIndex の位置から末尾までを削除した文字列を返します。 文字列.Remove(int startIndex) // startIndex の位置から count 文字分を削除した文字列を返します。 文字列.Remove(int startIndex, int count)
メソッド一覧
| メソッド | 概要 |
|---|---|
| Substring(int startIndex) | startIndex から末尾までの部分文字列を返します。 |
| Substring(int startIndex, int length) | startIndex から length 文字分の部分文字列を返します。 |
| Remove(int startIndex) | startIndex 以降の文字をすべて削除した文字列を返します。 |
| Remove(int startIndex, int count) | startIndex から count 文字分を削除した文字列を返します。 |
サンプルコード
using System;
string メッセージ = "Hello, C# World!";
// Substring() で切り出します。
Console.WriteLine(メッセージ.Substring(7)); // C# World!
Console.WriteLine(メッセージ.Substring(7, 2)); // C#
// Remove() で削除します。
Console.WriteLine(メッセージ.Remove(7)); // Hello,
Console.WriteLine(メッセージ.Remove(7, 3)); // Hello, World!
// IndexOf() と組み合わせて使う例です。
string メール = "user@example.com";
int アット位置 = メール.IndexOf("@");
string ユーザー名 = メール.Substring(0, アット位置);
string ドメイン = メール.Substring(アット位置 + 1);
Console.WriteLine(ユーザー名); // user
Console.WriteLine(ドメイン); // example.com
// 元の文字列は変更されません。
Console.WriteLine(メッセージ); // Hello, C# World!
概要
C# の文字列はイミュータブル(変更不可)です。『Substring()』や『Remove()』は元の文字列を変更せず、常に新しい文字列を返します。
インデックスが範囲外の場合は ArgumentOutOfRangeException がスローされます。事前に『Length / IndexOf()』でインデックスを確認してから呼び出すのが安全です。
文字列の置換や含有チェックには『Replace() / Contains()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。