文字列の操作はプログラムの中で頻繁に使用される基本的なスキルの1つです。文字列の結合、検索、置換、分割などが文字列の操作にあたります。
この記事では C# での文字列操作の基礎について初心者の方にもわかりやすく解説をしています。
簡単なサンプルコードを通して、文字列の結合や文字列の取り出し、文字列の検索と置換、大文字と小文字の変換など、基本的な操作をマスターしましょう。
ぜひ参考にしてみてください。

オススメの参考書
C#の使い方が丁寧に解説しており、「基礎からしっかりと学びたい」という初心者の方にオススメの一冊です。サンプルコードも記載してあり、各章の最後に復習問題があるので理解度を確認しながら読み進めることができます。新しい C# のバージョンにも対応している書籍です。
文字列の基本操作

C# での文字列操作の基礎について紹介します。
文字列はstring型として扱われ、さまざまなメソッドを使用して操作することができます。
- Contact
- Split
- Replace
- Contains
- Substring
- ToUpper
- ToLower
- Trim
- Insert
- Remove
上記のメソッドについて詳しく解説をしていきます。
文字列の結合
Contactメソッドは、文字列と文字列を結合します。
結合した文字列 = string.Contact(文字列1, 文字列2)
このメソッドは第1引数と第2引数に文字列を渡すと、結合した文字列を返します。
次のサンプルコードはContactメソッドを使用した例です。
var firstName = "緑谷";
var lastName = "出久";
var fullName = string.Concat(firstName, lastName);
Console.WriteLine($"フルネーム:{fullName}");実行結果は次のようになります。
フルネーム:緑谷出久文字列の分割
Splitメソッドは、文字列を特定の区切り文字で分割します。
分割された文字列 = 文字列.Split(特定の区切り文字)
このメソッドは引数で指定された区切り文字で文字列を分割し、分割した文字列を配列にして返します。
次のサンプルコードはSplitメソッドを使用した例です。
var text = "緑谷,爆豪,轟,飯田";
var names = text.Split(',');
foreach (var name in names)
{
Console.WriteLine(name);
}実行結果は次のようになります。
緑谷
爆豪
轟
飯田Splitメソッドでは複数の区切り文字を使って分割することができます。例えば、カンマとセミコロンの両方で分割したい場合は、以下のように記述します。
var text = "緑谷,爆豪,轟,飯田;麗日;蛙吹";
var separators = new char[] { ',', ';' };
var names = text.Split(separators);
foreach (var name in names)
{
Console.WriteLine(name);
}実行結果は次のようになります。
緑谷
爆豪
轟
飯田
麗日
蛙吹文字列の置換
Replaceメソッドは、特定の文字列を別の文字列に置き換えます。
置換された文字列 = 文字列.Replace(特定の文字列, 別の文字列)
このメソッドは第1引数で特定の文字列、第2引数で置き換える文字列を渡すと、置換した文字列を返します。
次のサンプルコードはReplaceメソッドを使用した例です。
var text = "緑谷出久";
var result = text.Replace("出久", "デク");
Console.WriteLine(result);実行結果は次のようになります。
緑谷デク文字列の検索
Containsメソッドは、特定の文字列が含まれているかどうかを判定します。
判定結果 = 文字列.Contains(特定の文字列)
このメソッドは第1引数で特定の文字列を渡すと、その特定の文字列が文字列内に含まれているかどうかをbool型で返します。特定の文字列が含まれている場合はtrue、特定の文字列が含まれていない場合はfalseです。
次のサンプルコードはContainsメソッドを使用した例です。
var text = "緑谷出久";
var word = "出久";
var result = text.Contains(word);
Console.WriteLine($"{word}は{(result ? "含まれる" : "含まれない")}");実行結果は次のようになります。
出久は含まれるC# ではContainsメソッドだけではなく、IndexOfメソッドやStartsWithメソッド、EndsWithメソッドで文字列を検索することができます。
これらのメソッドの使い方は以下の記事を参考にしてください。

部分文字列の取得
Substringメソッドは、文字列の一部を抽出します。
部分文字列 = 文字列.Substring(開始位置, 取得する文字数)
このメソッドは第1引数で取得する文字の位置、第2引数で取得する文字数を渡すと、文字列の一部を抽出します。
次のサンプルコードはSubstringメソッドを使用した例です。
var text = "緑谷出久";
var result = text.Substring(2, 1);
Console.WriteLine($"抽出結果:{result}");実行結果は次のようになります。
出Substringを使用する際、引数で渡す開始位置または取得する文字数が文字列の範囲外だった場合、ArgumentOutOfRangeExceptionという例外が発生します。
例えば、文字列の文字数が4にもかかわらず、Substring(5, 6)のように書くと例外が発生します。これは文字列の長さが超える範囲で指定したためです。
開始位置と取得する文字数は文字列の範囲内に収まるように指定する必要があります。
大文字・小文字の変換
ToUpperメソッドは大文字→小文字に変換し、ToLowerメソッドは小文字→大文字に変換します。
大文字の文字列 = 文字列.ToUpper()
小文字の文字列 = 文字列.ToLower()
次のサンプルコードはToUpperメソッドとToLowerメソッドを使用した例です。
var text = "All Might";
var upper = text.ToUpper();
Console.WriteLine(upper);
var lower = text.ToLower();
Console.WriteLine(lower);実行結果は次のようになります。
ALL MIGHT
all might空白の削除
Trimメソッドは文字列の前後の空白(または指定した文字)を削除します。
空白を削除した文字列 = 文字列.Trim()
次のサンプルコードはTrimメソッドを使用した例です。
var text = " All Might ";
var upper = text.Trim();
Console.WriteLine(upper);実行結果は次のようになります。
All Might文字列の前後にあった空白が削除されています。文字列の中にある空白までは削除されません。
文字列内部の空白を削除したい場合はReplaceメソッドを使ってtext.Replace(" ", "")のように記述するといいでしょう。
文字の挿入
Insertメソッドは指定した位置に文字列を挿入します。
挿入後の文字列 = 文字列.Insert(挿入位置, 挿入する文字列)
このメソッドは第1引数で挿入する位置、第2引数で挿入する文字列を渡すと、文字列に指定文字を挿入します。
次のサンプルコードはInsertメソッドを使用した例です。
var text = "All Might";
var result = text.Insert(3, ",");
Console.WriteLine(result);実行結果は次のようになります。
All, Might文字の削除
Removeメソッドは指定した位置から指定した数の文字を削除します。
削除後の文字列 = 文字列.Remove(削除位置, 削除する文字数)
このメソッドは第1引数で削除する位置、第2引数で削除する文字数を渡すと、文字列中の文字を削除します。
次のサンプルコードはRemoveメソッドを使用した例です。
var text = "All Might";
var result = text.Remove(3, 6);
Console.WriteLine(result);実行結果は次のようになります。
Allまとめ

この記事では、文字列を操作する基本的な方法について紹介しました。
- Contact
- Split
- Replace
- Contains
- Substring
- ToUpper
- ToLower
- Trim
- Insert
- Remove
C# には豊富な文字列を操作する機能が備わっています。これらの文字列を操作するメソッドを活用することで、様々な文字列処置が簡単に実現できます。
これらのメソッドの使い方を理解して、文字列を操作しましょう。



以上、最後まで読んで頂きありがとうございました。

