プログラミング

.NET 文字列操作ガイド

.NETにおける文字列操作(Strings)は、プログラムの中で非常に重要な役割を果たします。文字列は、テキストデータを格納するためのデータ型であり、さまざまな操作を行うためのメソッドが豊富に用意されています。この記事では、.NETにおける文字列操作について完全かつ包括的に解説します。

1. 文字列の基本操作

1.1 文字列の定義

文字列は、string型で定義されます。以下のように、文字列を変数に格納することができます。

csharp
string greeting = "こんにちは、世界!";

このコードでは、greetingという変数に「こんにちは、世界!」という文字列が格納されています。

1.2 文字列の結合

複数の文字列を結合するには、+演算子を使う方法が一般的です。

csharp
string firstName = "田中"; string lastName = "太郎"; string fullName = firstName + " " + lastName; Console.WriteLine(fullName); // 出力: 田中 太郎

また、String.Concatメソッドを使用することもできます。

csharp
string fullName = String.Concat(firstName, " ", lastName);

1.3 文字列の長さ

文字列の長さを取得するには、Lengthプロパティを使用します。

csharp
string example = "こんにちは"; int length = example.Length; Console.WriteLine(length); // 出力: 5

2. 文字列の検索操作

2.1 部分文字列の検索

文字列の中で特定の部分文字列を検索するには、IndexOfメソッドを使用します。

csharp
string sentence = "私はプログラミングが好きです。"; int index = sentence.IndexOf("プログラミング"); Console.WriteLine(index); // 出力: 3

IndexOfメソッドは、指定された文字列が最初に現れる位置を返します。もし部分文字列が見つからなかった場合は、-1を返します。

2.2 文字列の置換

文字列内の特定の文字列を他の文字列に置き換えるには、Replaceメソッドを使用します。

csharp
string message = "私はプログラミングが好きです。"; string newMessage = message.Replace("好き", "得意"); Console.WriteLine(newMessage); // 出力: 私はプログラミングが得意です。

3. 文字列のフォーマット

3.1 String.Format メソッド

文字列の埋め込みやフォーマットには、String.Formatメソッドが便利です。

csharp
string name = "田中"; int age = 25; string message = String.Format("{0}さんは{1}歳です。", name, age); Console.WriteLine(message); // 出力: 田中さんは25歳です。

3.2 文字列補完($

C# 6.0以降では、文字列補完(interpolation)を使用して、変数を埋め込んだ文字列を簡単に作成することができます。

csharp
string message = $"{name}さんは{age}歳です。"; Console.WriteLine(message); // 出力: 田中さんは25歳です。

4. 文字列の分割と結合

4.1 文字列の分割

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

csharp
string sentence = "リンゴ,バナナ,オレンジ"; string[] fruits = sentence.Split(','); foreach (var fruit in fruits) { Console.WriteLine(fruit); } // 出力: // リンゴ // バナナ // オレンジ

4.2 配列から文字列への結合

文字列の配列を1つの文字列に結合するには、String.Joinメソッドを使用します。

csharp
string[] words = { "こんにちは", "世界", "!" }; string sentence = String.Join(" ", words); Console.WriteLine(sentence); // 出力: こんにちは 世界 !

5. 文字列のトリミングと変換

5.1 トリミング

文字列の前後にある空白を削除するには、Trimメソッドを使用します。

csharp
string text = " こんにちは "; string trimmedText = text.Trim(); Console.WriteLine(trimmedText); // 出力: こんにちは

5.2 大文字と小文字の変換

文字列を大文字または小文字に変換するには、ToUpperまたはToLowerメソッドを使用します。

csharp
string lowerText = "hello".ToUpper(); Console.WriteLine(lowerText); // 出力: HELLO string upperText = "WORLD".ToLower(); Console.WriteLine(upperText); // 出力: world

6. 文字列の比較

6.1 等価の比較

文字列が等しいかどうかを確認するには、Equalsメソッドを使用します。

csharp
string str1 = "Hello"; string str2 = "Hello"; bool isEqual = str1.Equals(str2); Console.WriteLine(isEqual); // 出力: True

6.2 大文字と小文字を区別しない比較

大文字と小文字を区別せずに文字列を比較するには、StringComparer.OrdinalIgnoreCaseを使用します。

csharp
string str1 = "hello"; string str2 = "HELLO"; bool isEqualIgnoreCase = String.Equals(str1, str2, StringComparison.OrdinalIgnoreCase); Console.WriteLine(isEqualIgnoreCase); // 出力: True

7. 文字列の操作を最適化

7.1 StringBuilderクラスの利用

大量の文字列結合や操作を行う場合、StringクラスよりもStringBuilderクラスを使用した方がパフォーマンスが向上することがあります。StringBuilderは、文字列の変更が多い場合に特に有効です。

csharp
StringBuilder sb = new StringBuilder(); sb.Append("こんにちは"); sb.Append("、"); sb.Append("世界!"); Console.WriteLine(sb.ToString()); // 出力: こんにちは、世界!

8. まとめ

.NETでは、文字列操作のためにさまざまな便利なメソッドやクラスが提供されています。文字列の結合や分割、検索、置換などを簡単に行うことができ、また、パフォーマンスを重視する場合にはStringBuilderを利用することが推奨されます。これらの操作を活用することで、効率的かつ効果的に文字列を扱うことができるようになります。

Back to top button