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
入力フォームなどから取得した値は文字列になっていることが多いので、数値に変換して計算できるようにするのはとても重要です。
まとめ
C#の文字列操作は、プログラムを作るうえで欠かすことのできない基本的でありながら奥が深い仕組みです。今回の記事で紹介した「結合」「検索」「部分抽出」「変換」「置き換え」「空白除去」「改行」などの操作は、日常的に行われる処理であり、一つひとつを理解して組み合わせることで、表現の幅が大きく広がります。
また、文字列はユーザーの入力や外部データ、ファイル読み込みなど、さまざまな情報の入り口として利用されるため、正しく扱えるかどうかでプログラム全体の品質にも影響します。特にLengthで文字数を調べたり、Containsで特定の語句を検査したり、Substringで必要な部分だけを取り出したりといった操作は、データチェックやメッセージ生成に直結する重要な加工技術です。
C#では文字列が「変更できないオブジェクト」であるという性質もあり、操作を繰り返す場面ではReplaceやTrimなどのメソッドを上手に使いつつ、必要に応じて新しい文字列を作り直す必要があります。こうした性質を理解することで、意図しないメモリ消費を避けるなど、より安定した設計を行いやすくなります。
さらに、今回学んだ基本的な操作には、実際のアプリケーション開発でよく使われる要素が多く含まれています。たとえば、ログの整形、入力値の検証、ファイル名の生成、エラーメッセージの加工、画面表示用テキストの組み立てなど、さまざまな処理で文字列操作は活用されます。ここでは総まとめとして、これまでの知識をひとつにまとめ、より応用しやすい形でサンプルプログラムも示します。
文字列操作をまとめて活用するサンプルプログラム
using System;
class Program
{
static void Main()
{
string firstName = "たろう";
string lastName = "やまだ";
// ① 結合
string fullName = lastName + " " + firstName;
// ② 長さ取得
int length = fullName.Length;
// ③ 一部分の抽出
string extracted = fullName.Substring(0, 2);
// ④ 含まれているかを確認
bool hasName = fullName.Contains("やま");
// ⑤ 置き換え
string replaced = fullName.Replace("たろう", "じろう");
// ⑥ 空白除去
string spaced = " C#文字列テスト ";
string trimmed = spaced.Trim();
Console.WriteLine($"氏名:{fullName}({length}文字)");
Console.WriteLine($"抽出部分:{extracted}");
Console.WriteLine($"『やま』を含む?:{hasName}");
Console.WriteLine($"置き換え結果:{replaced}");
Console.WriteLine($"Trim後:[{trimmed}]");
}
}
このサンプルでは、文字列の結合・抽出・検索・置換・Trim・Lengthといった操作をまとめて使うことで、文字列操作の流れを自然に理解できるようにしています。C#ではこうした処理を組み合わせることで、複雑なテキストを扱うプログラムも短くわかりやすく書けるようになります。 今回の内容をふり返りながら、自分で文字列を加工する練習をすると、より深く理解できるでしょう。特に、ユーザー入力を扱う場面ではTrimやContains、Lengthチェックなどが頻出するため、習得しておくと大きな武器になります。C#の文字列操作は身につけるほど応用が利き、プログラミングの幅を広げてくれる便利な技術です。
生徒
「今日の内容で、C#の文字列ってこんなにいろいろできるんだって驚きました!結合したり、探したり、取り出したり、想像以上に便利ですね。」
先生
「その通りです。文字列操作はあらゆるプログラムで使われるので、しっかり理解しておくと本当に役立ちますよ。応用を始めるともっと面白くなります。」
生徒
「特にSubstringやReplaceが印象的でした。画面に表示するメッセージを整えるときにも使えそうです!」
先生
「ええ、実際の開発では文字列を整形する処理はとても多いんです。Trimで余計な空白を取るのもよく使う操作ですね。」
生徒
「もっと練習して、入力チェックとか、文章生成もできるようになりたいです!」
先生
「その意欲が大切です。今日学んだ基礎を積み重ねていけば、どんな文字操作も思い通りに扱えるようになりますよ。ぜひ楽しみながら身につけていきましょう。」