C#の文字列操作入門|便利なメソッドまとめ

先生

C#の文字列操作、基本から応用までマスターして、今日から君も文字列マスターだ!

C# 文字列操作の基本

C#における文字列操作は、プログラミングにおいて非常に重要な要素です。文字列はテキストデータを扱うための基本的なデータ型であり、その操作を効率的に行うことは、アプリケーションのパフォーマンスやユーザーエクスペリエンスに大きく影響します。

この記事では、C#で文字列を操作するための基本的なメソッドやテクニックをわかりやすく解説します。初心者の方でも理解しやすいように、具体的なコード例を交えながら、文字列の作成、比較、検索、置換、分割、結合など、さまざまな操作方法を網羅的に説明します。

この記事を読むことで、C#における文字列操作の基礎をしっかりと身につけ、より高度なプログラミングスキルを習得するための足がかりとすることができます。

文字列の作成と初期化

C#で文字列を作成するには、stringキーワードを使用します。文字列リテラルを直接代入する方法や、Stringクラスのコンストラクタを使用する方法など、いくつかの方法があります。

string str1 = "Hello, World!"; // 文字列リテラルを代入
string str2 = new string('A', 10); // 'A'を10個繰り返した文字列

空文字列を作成するには、string.Emptyを使用するのが一般的です。nullとの違いに注意しましょう。

string emptyString = string.Empty; // 空文字列
string nullString = null; // null

nullの文字列に対してメソッドを実行するとNullReferenceExceptionが発生する可能性があります。そのため、文字列を扱う際にはnullチェックを行うことが重要です。

文字列の比較

文字列の比較には、==演算子やEqualsメソッドを使用します。==演算子は参照の比較ではなく、文字列の内容を比較します。

string str1 = "Hello";
string str2 = "Hello";

Console.WriteLine(str1 == str2); // True
Console.WriteLine(str1.Equals(str2)); // True

大文字小文字を区別せずに比較するには、String.Equalsメソッドのオーバーロードを使用します。

string str3 = "hello";
Console.WriteLine(str1.Equals(str3, StringComparison.OrdinalIgnoreCase)); // True

Compareメソッドを使用すると、文字列の大小関係を比較できます。

文字列の検索

文字列内に特定の文字列が含まれているかどうかを調べるには、Containsメソッドを使用します。

string str = "This is a test string.";
Console.WriteLine(str.Contains("test")); // True

文字列の位置を検索するには、IndexOfメソッドやLastIndexOfメソッドを使用します。

Console.WriteLine(str.IndexOf("is")); // 2 (最初に見つかった位置)
Console.WriteLine(str.LastIndexOf("is")); // 5 (最後に見つかった位置)

文字列が特定の文字列で始まっているか、終わっているかを調べるには、StartsWithメソッドやEndsWithメソッドを使用します。

文字列の置換と削除

文字列の一部を別の文字列に置換するには、Replaceメソッドを使用します。

string str = "Hello, World!";
string newStr = str.Replace("World", "C#");
Console.WriteLine(newStr); // Hello, C#!

文字列の一部を削除するには、Removeメソッドを使用します。

string str = "Hello, World!";
string newStr = str.Remove(5); // index 5から後ろを削除
Console.WriteLine(newStr); // Hello
string newStr2 = str.Remove(5, 7); // index 5から7文字削除
Console.WriteLine(newStr2); // Hello!

文字列の分割と結合

文字列を特定の区切り文字で分割するには、Splitメソッドを使用します。

string str = "apple,banana,orange";
string[] fruits = str.Split(',');
foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}

文字列を結合するには、+演算子やString.Concatメソッドを使用します。String.Joinメソッドを使用すると、複数の文字列を区切り文字で結合できます。

string[] words = { "This", "is", "a", "test" };
string sentence = string.Join(" ", words);
Console.WriteLine(sentence); // This is a test

文字列のフォーマット

文字列を特定の形式にフォーマットするには、String.Formatメソッドを使用します。

string name = "Alice";
int age = 30;
string message = string.Format("Name: {0}, Age: {1}", name, age);
Console.WriteLine(message); // Name: Alice, Age: 30

C# 6.0以降では、文字列補間を使用することもできます。

string message2 = $"Name: {name}, Age: {age}";
Console.WriteLine(message2); // Name: Alice, Age: 30

参考リンク

まとめ

C#における文字列操作は、プログラミングの基礎であり、様々な場面で必要となるスキルです。この記事で紹介したメソッドやテクニックを理解し、使いこなせるように練習することで、より効率的で高品質なコードを書くことができるようになります。ぜひ、これらの知識を活用して、C#プログラミングのスキルアップを目指してください。