この章では、文字操作を行うためのさまざまな方法を学びます。
文字列を連結する方法や、Formatメソッドを使った文字列の書式設定方法など、よく利用される技術を解説します。
「C#基礎講座」の5章です。この講座の詳細については以下から確認できます。
全てのサンプルプログラムのダウンロードは0章でダウンロードできます。
文字列の連結とFormat
文字列を連結する方法として、文字列を+演算子で連結する方法や、String.Concatメソッドを使う方法があります。
+
演算子で連結するには以下のように記述します。
string 文字列3 = 文字列1 + ” ” + 文字列2;
String.Concatで記述するには以下のように記述します。
String.Concat(文字列1,文字列2[,文字列3])
また、Formatメソッドを使うことで、文字列の書式を設定することができます。Formatメソッドを使うと、文字列内に埋め込んだ変数や式を、指定した書式で出力することができます。
string 文字列3 = String.Format(“{0} {1}”, 文字列1, 文字列2);
以下は、これらのサンプルコードです。
string s1 = "Hello";
string s2 = "World";
// +演算子で連結
string s3 = s1 + " " + s2; // "Hello World"
// String.Concatメソッドを使って連結
string s4 = String.Concat(s1, " ", s2); // "Hello World"
// Formatメソッドを使って書式を設定
string s5 = String.Format("{0} {1}", s1, s2); // "Hello World"
文字列を連結する場合は、できるだけ+演算子よりもString.Concatメソッドを使うよう心がけましょう。+演算子は、文字列を連結する度に新しい文字列を生成するため、性能面で劣ります。
一方、String.Concatメソッドは、文字列を連結する度に新しい文字列を生成せず、既存の文字列を更新するため、性能面で優れています。
その他のよく利用する文字操作
C#でよく利用される文字操作として、文字列の比較や文字列の検索、文字列の置換などがあります。
文字列の比較には、Equalsメソッドや==演算子を使うことができます。Equalsメソッドは、大文字と小文字を区別せずに文字列を比較することができます。一方、==演算子は大文字と小文字を区別して文字列を比較するため、大文字小文字を区別しない場合はEqualsメソッドを使うことが推奨されます。
文字列の検索には、Containsメソッドを使うことができます。Containsメソッドは、指定した文字列が含まれているかどうかを真偽値で返します。
文字列の置換には、Replaceメソッドを使うことができます。Replaceメソッドは、指定した文字列を別の文字列に置き換えることができます。
操作 | 説明 | 例 |
---|---|---|
文字列の比較 | 2つの文字列が同じ内容であるかを比較する。 大文字小文字を区別しない場合は、Equalsメソッドを使うことが推奨される。 | bool b = s1.Equals(s2,StringComparison.OrdinalIgnoreCase); |
文字列の検索 | 指定した文字列が含まれているかを真偽値で返す。 | string s1 = “Hello World”; bool b = s1.Contains(“World”); |
文字列の置換 | 指定した文字列を別の文字列に置き換える。 | string s1 = “Hello World”; string s2 = s1.Replace(“World”, “Universe”); |
以下は、これらのサンプルコードです。
// 文字列の比較
string s1 = "Hello";
string s2 = "hello";
bool b = s1.Equals(s2, StringComparison.OrdinalIgnoreCase);
Console.WriteLine(b); // True
// 文字列の検索
string s3 = "Hello World";
bool c = s3.Contains("World");
Console.WriteLine(c); // True
// 文字列の置換
string s4 = "Hello World";
string s5 = s1.Replace("World", "Universe");
Console.WriteLine(s5); // Hello Universe
解いてみよう!文字列操作クイズ
以下のクイズを解いてみましょう!
次のプログラムを実行すると、どのような文字列が出力されるでしょうか。
string s1 = "Hello";
string s2 = "World";
string s3 = s1 + " " + s2;
console.WriteLine(s3);
- Hello
- World
- Hello World
解答
答え: 3. Hello World
解説: s1とs2を空白文字で連結した結果がs3に代入され、その結果を出力しています。
次のプログラムを実行すると、どのような文字列が出力されるでしょうか。
string s1 = "Hello";
string s2 = "World";
string s3 = String.Concat(s1, " ", s2);
- False
- True
- Hello World
解答
答え: 3. Hello World
解説: String.Concatメソッドを使って、s1とs2を空白文字で連結した結果がs3に代入され、その結果を出力しています。
次のプログラムを実行すると、どのような文字列が出力されるでしょうか。
string s1 = "Hello";
string s2 = "World";
string s3 = String.Format("{0} {1}", s1, s2);
console.WriteLine(s3);
- Hello
- World
- Hello World
解答
答え: 3. Hello World
解説: Formatメソッドを使って、{0}と{1}をs1とs2に置き換えた結果がs3に代入され、その結果を出力しています。
リスキリングでキャリアアップしてみませんか?
リスキリング(学び直し)は、経済産業省が推奨しており、
今だけ、最大70%のキャッシュバックを受けることができます。
最大70%の給付金が出るおすすめのプログラミングスクール!
国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!
興味のある方はすぐに確認しましょう。
この章のまとめ
「文字操作についてマスターする」では以下の内容を学びました。
- 文字列を連結する方法として、+演算子やString.Concatメソッドを使うことができる。
- Formatメソッドを使うことで、文字列の書式を設定することができる。
- 文字列を比較する方法として、Equalsメソッドや==演算子を使うことができる。
- 文字列を検索する方法としてContainsメソッドを使うことができる。
- 文字列を置換する方法として、Replaceメソッドを使うことができる。
文字列を連結する方法や、Formatメソッドを使った文字列の書式設定方法、文字列を比較する方法、文字列を検索する方法、文字列を置換する方法などを理解することができました!
実際にプログラムを書いて試してみることで、より理解を深めたいです。
文字操作は、プログラムを書く上でよく利用する欠かせない基本スキルです。
学んだ文字操作を、都度調べながら何度もコーディングしていくうちに、自然に身につけることができるでしょう。
そのためにも、焦らずに着実に続けることが大切です。
次のチャプター
次章では、「制御構文の条件分岐」について学びます。
コメント