文字列の操作はプログラムの中で頻繁に使用される基本的なスキルの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# には豊富な文字列を操作する機能が備わっています。これらの文字列を操作するメソッドを活用することで、様々な文字列処置が簡単に実現できます。
これらのメソッドの使い方を理解して、文字列を操作しましょう。
以上、最後まで読んで頂きありがとうございました。