C#の文字列型(string)を完全解説!連結・分割・検索の方法を紹介
生徒
「C#で文字を扱うには、どんな型を使えばいいですか?」
先生
「C#では、文字列を扱うにはstring
型を使います。文章や名前など、文字の集まりを扱うときに使いますよ。」
生徒
「そのstringって、どうやって使うんですか?文章をくっつけたりできますか?」
先生
「もちろんです!文字列の連結や分割、検索も簡単にできます。一緒に学んでいきましょう!」
1. C#の文字列型(string)とは?
文字列とは、文字が集まったもののことです。たとえば「こんにちは」「ABC123」などが文字列です。
C#では文字列を扱うときにstring
型を使います。このstring
型を使えば、名前やメッセージ、住所など、あらゆる文字データをプログラムで扱えるようになります。
例えば、以下のように文字列を変数に代入して使います。
string message = "はじめまして!";
Console.WriteLine(message);
はじめまして!
2. 文字列を連結(くっつける)する方法
文字列を連結するというのは、2つ以上の文字列をくっつけて1つの文字列にすることです。C#では+
(プラス記号)を使って連結できます。
string firstName = "田中";
string lastName = "太郎";
string fullName = firstName + " " + lastName;
Console.WriteLine(fullName);
田中 太郎
また、string.Concat
メソッドや$
を使った文字列補間(文字列の中に変数を埋め込む書き方)もあります。
string fullName = $"{firstName} {lastName}";
Console.WriteLine(fullName);
田中 太郎
3. 文字列を分割する方法
長い文字列を分割することもできます。たとえば「りんご,みかん,バナナ」のようなカンマで区切られた文字列を、1つずつの単語に分けることができます。
このとき使うのがSplit
メソッドです。
string fruits = "りんご,みかん,バナナ";
string[] fruitArray = fruits.Split(',');
foreach (string fruit in fruitArray)
{
Console.WriteLine(fruit);
}
りんご
みかん
バナナ
Split
のかっこの中に、どの文字で分けるか(この例では「,」カンマ)を指定します。
4. 文字列の中を検索する方法
文字列の中に特定の文字が含まれているかどうか調べたいときは、Contains
メソッドが便利です。
string sentence = "私はプログラミングが大好きです。";
bool result = sentence.Contains("プログラミング");
Console.WriteLine(result);
True
このように、特定の言葉が含まれているかをTrue
またはFalse
で返してくれます。
また、IndexOf
メソッドを使うと、その文字がどの位置にあるかを調べることができます。
int position = sentence.IndexOf("大好き");
Console.WriteLine(position);
11
この場合、「大好き」という言葉が11文字目から始まっていることがわかります。
5. その他のよく使う文字列操作
C#では他にも便利な文字列操作がたくさんあります。初心者にもよく使う基本的なものを紹介します。
文字列の長さを調べる
文字列の長さ(何文字あるか)を調べるには、Length
プロパティを使います。
string name = "さくら";
Console.WriteLine(name.Length);
3
文字列を小文字・大文字に変換する
英語などで、文字列をすべて小文字にしたいときはToLower()
、大文字にしたいときはToUpper()
を使います。
string word = "Hello";
Console.WriteLine(word.ToLower());
Console.WriteLine(word.ToUpper());
hello
HELLO
空白や不要な文字を取り除く(Trim)
文字列の前後に余計な空白が入ってしまうことがあります。そんなときはTrim
を使います。
string input = " C#プログラミング ";
string cleaned = input.Trim();
Console.WriteLine(cleaned);
C#プログラミング
6. string型は実はクラス
実はstring
型は、C#で用意されたクラスの一種です。クラスとは、いろんな機能(メソッドやプロパティ)を持った型のことです。
そのため、今回紹介したようなLength
やSplit
、Contains
などの便利な機能をたくさん使うことができます。
これらを覚えておけば、プログラムの中で文字を扱うのがグッと楽になります。