C#の文字列操作まとめ!初心者向け便利テクニック集
生徒
「先生、C#で文字を扱うときって、どんな操作ができるんですか?」
先生
「とても良い質問ですね。C#では『文字列操作(String操作)』といって、文字をつなげたり、分けたり、探したりすることができますよ。」
生徒
「へえ!たとえば、名前をくっつけて表示したりとか?」
先生
「そうそう!その通りです。C#の文字列操作をマスターすると、メッセージを作ったり、入力をチェックしたりと、いろいろなプログラムが作れるようになりますよ。」
生徒
「それは便利そうですね!ぜひ教えてください!」
先生
「それでは、C#の文字列操作の基本から順番に見ていきましょう。」
1. C#の文字列(string)とは?
C#の文字列(string型)は、文字をいくつも並べたものです。たとえば「こんにちは」や「Hello World」などが文字列です。文字列は、ダブルクォーテーション(")で囲んで書きます。
string message = "こんにちは、C#!";
Console.WriteLine(message);
こんにちは、C#!
このように、string型を使うことで、文字を画面に表示したり、加工したりすることができます。
2. 文字列の結合(つなげる)方法
複数の文字列をつなげるときは、プラス記号(+)を使います。たとえば名前とあいさつを組み合わせる場合は次のようにします。
string name = "太郎";
string greeting = "こんにちは、" + name + "さん!";
Console.WriteLine(greeting);
こんにちは、太郎さん!
このように、+で文字列をくっつけることができます。C#では他にもstring.Concat()メソッドや、複数の文字列をまとめて結合するstring.Join()などの方法もあります。
3. 文字列の長さを調べる(Lengthプロパティ)
文字列の長さ、つまり文字の数を調べたいときは、Lengthプロパティを使います。
string text = "C#プログラミング";
Console.WriteLine("文字数は " + text.Length + " です。");
文字数は 10 です。
このように、Lengthを使うと文字の数を数えることができます。入力チェックなどにも使えますね。
4. 部分的に取り出す(Substringメソッド)
文字列の一部だけを取り出したい場合は、Substring()メソッドを使います。たとえば、3文字目から後ろを取り出すときは次のように書きます。
string word = "プログラミング";
string part = word.Substring(2);
Console.WriteLine(part);
グラミング
Substring(開始位置)のように指定します。文字の位置は「0」から数えるので注意しましょう。
5. 特定の文字を探す(IndexOf・Contains)
文字列の中に特定の文字や単語が含まれているか調べたい場合は、Contains()メソッドを使います。
string text = "C#で文字列操作を学ぼう";
if (text.Contains("文字列"))
{
Console.WriteLine("『文字列』という言葉が含まれています。");
}
『文字列』という言葉が含まれています。
また、文字がどこにあるのかを調べたいときはIndexOf()を使います。
string text = "C#プログラミング";
int index = text.IndexOf("ラ");
Console.WriteLine("『ラ』は " + index + " 文字目にあります。");
『ラ』は 4 文字目にあります。
6. 文字の置き換え(Replaceメソッド)
文字列の中の一部を別の文字に変えたいときは、Replace()メソッドを使います。例えば、「C#」を「Python」に変えるには次のようにします。
string text = "C#を学ぼう";
string replaced = text.Replace("C#", "Python");
Console.WriteLine(replaced);
Pythonを学ぼう
Replace()を使うと、文字列の特定部分を簡単に変更できます。
7. 文字列の大文字・小文字変換
英語の文字を扱うときに便利なのが、ToUpper()(大文字に変換)とToLower()(小文字に変換)です。
string word = "Hello C#";
Console.WriteLine(word.ToUpper());
Console.WriteLine(word.ToLower());
HELLO C#
hello c#
これらのメソッドを使えば、ユーザーの入力に関係なく統一した文字形式で処理することができます。
8. 文字列の空白を削除(Trimメソッド)
文字列の前後に余分な空白があると、意図した動作にならないことがあります。そんなときは、Trim()メソッドを使います。
string input = " C#学習 ";
string clean = input.Trim();
Console.WriteLine("[" + clean + "]");
[C#学習]
Trim()は前後の空白を取り除いてくれるので、入力チェックなどにとても役立ちます。
9. 複数行の文字列を扱う(改行)
C#で改行を入れたい場合は、\n(バックスラッシュエヌ)という「エスケープシーケンス」を使います。
string text = "C#の勉強を始めよう\n文字列操作をマスターしよう";
Console.WriteLine(text);
C#の勉強を始めよう
文字列操作をマスターしよう
このように、\nを使えば改行を簡単に入れることができます。
10. 文字列を数値に変換する(int.Parse)
最後に、文字列の「数字部分」を数値として使いたい場合の方法です。C#ではint.Parse()を使うと、文字列を整数に変換できます。
string numberText = "123";
int number = int.Parse(numberText);
Console.WriteLine(number + 10);
133
入力フォームなどから取得した値は文字列になっていることが多いので、数値に変換して計算できるようにするのはとても重要です。