カテゴリ: C# 更新日: 2025/11/17

C#の文字列分割(Split)と部分文字列(Substring)の使い方を完全ガイド!初心者でもわかる解説

C#の文字列分割(Split)と部分文字列(Substring)の使い方
C#の文字列分割(Split)と部分文字列(Substring)の使い方

先生と生徒の会話形式で理解しよう

生徒

「先生、C#で文字列をバラバラに分けたり、一部だけ取り出す方法ってありますか?」

先生

「いい質問ですね!C#では、文字列を分割するにはSplitメソッド、一部だけ取り出すにはSubstringメソッドを使うことができます。」

生徒

「なるほど!でも難しそうに聞こえます。どうやって使えばいいんでしょうか?」

先生

「大丈夫ですよ。身近な例にたとえて、基本からわかりやすく解説していきましょう!」

1. C#の文字列分割(Split)とは?

1. C#の文字列分割(Split)とは?
1. C#の文字列分割(Split)とは?

C#のSplit(スプリット)メソッドは、文字列を指定した区切り文字で分割して、バラバラの文字列にしてくれる便利な機能です。例えば、カンマで区切られた住所録や、スペースで区切られた文章を一つひとつに分けるときに役立ちます。

「りんご,みかん,ぶどう」という文字列を考えてみましょう。これをカンマ(,)で分割すると、3つの果物の名前に分かれます。まるでお弁当の仕切りで食べ物を分けるようなイメージです。


string fruits = "りんご,みかん,ぶどう";
string[] fruitArray = fruits.Split(',');

foreach (string fruit in fruitArray)
{
    Console.WriteLine(fruit);
}

りんご
みかん
ぶどう

このように、Splitを使えば、文字列を一瞬でバラバラに分けることができます。初心者の方でも、区切り文字(デリミタ)を指定するだけなので、とても簡単です。

2. Splitメソッドの応用

2. Splitメソッドの応用
2. Splitメソッドの応用

Splitメソッドは、ただ分けるだけではなく、複数の区切り文字を指定したり、空白を取り除いたりすることも可能です。


string text = "C# プログラミング 基礎 入門";
string[] words = text.Split(' ');

foreach (string word in words)
{
    Console.WriteLine(word);
}

C#
プログラミング
基礎
入門

このようにスペースを区切りにすれば、文章を単語ごとに切り分けることができます。検索機能やテキスト解析などにも応用できます。

3. C#の部分文字列(Substring)とは?

3. C#の部分文字列(Substring)とは?
3. C#の部分文字列(Substring)とは?

次に、C#のSubstring(サブストリング)メソッドを紹介します。これは、文字列の一部だけを取り出す機能です。例えば、「こんにちは」という文字列から「こん」だけを取り出すことができます。

本でいえば、1ページ全体ではなく、必要な部分だけをコピーするようなイメージです。


string message = "こんにちはC#";
string part = message.Substring(0, 3);

Console.WriteLine(part);

こんにち

Substring(開始位置, 文字数)と書くことで、文字列のどこから何文字分を取り出すかを指定できます。開始位置は0から数える点に注意しましょう。

4. Substringメソッドの活用例

4. Substringメソッドの活用例
4. Substringメソッドの活用例

例えば、電話番号から市外局番だけ取り出したい場合にもSubstringが使えます。


string phone = "03-1234-5678";
string cityCode = phone.Substring(0, 2);

Console.WriteLine(cityCode);

03

このように、実生活でよくある「必要な部分だけ取り出したい」場面で活躍します。メールアドレスからドメインを取り出す、商品コードの一部を抽出するなども可能です。

5. SplitとSubstringを組み合わせて使う

5. SplitとSubstringを組み合わせて使う
5. SplitとSubstringを組み合わせて使う

さらに便利なのは、SplitSubstringを組み合わせる方法です。例えば、カンマで区切られた住所データから「郵便番号だけ」取り出す、といった応用ができます。


string address = "123-4567,東京都,新宿区";
string[] parts = address.Split(',');
string postalCode = parts[0].Substring(0, 3);

Console.WriteLine(postalCode);

123

この例では、まずSplitで住所を3つに分割し、その後Substringで郵便番号の最初の3桁を取り出しています。こうすることで、実用的なデータ処理が可能になります。

6. ポイント整理

6. ポイント整理
6. ポイント整理

C#の文字列操作であるSplitSubstringは、データを整理する力必要な部分を抽出する力を持っています。どちらもシンプルですが、とても強力な機能で、プログラミングを学ぶ上で必ず役立つスキルです。まずは身近な例を使って練習してみるのがおすすめです。

まとめ

まとめ
まとめ

C#の文字列操作において、SplitメソッドとSubstringメソッドは非常に基本的かつ重要な機能です。文字列を柔軟に扱えるようになることで、ユーザー入力やファイルデータ、APIレスポンスなど、さまざまなテキスト情報を自在に処理できるようになります。

Splitは指定した区切り文字で文字列を分割し、Substringは特定の位置から任意の長さだけ部分文字列を取得できます。これらを組み合わせることで、実用的なデータ加工や表示ロジックも簡潔に実現可能です。

例えば、カンマ区切りで受け取ったCSVデータをSplitで分解し、必要な列をSubstringで抽出することで、ログや帳票、Web画面への出力がスムーズになります。

以下に、実践的な例として「生徒情報を分割し、名前と学年を取り出す」コードを紹介します。

SplitとSubstringを組み合わせた実践例


string studentData = "田中太郎|高2|A組";
string[] parts = studentData.Split('|');

// 名前はそのまま
string name = parts[0];

// 学年(「高2」の「2」の部分)を取り出す
string gradeNumber = parts[1].Substring(1, 1);

Console.WriteLine("氏名:" + name);
Console.WriteLine("学年:" + gradeNumber);

実行結果は以下のようになります。


氏名:田中太郎
学年:2

このように、Splitでデータを分割し、Substringで必要な部分を抽出する処理は、名簿・売上データ・伝票情報の処理など幅広く応用できます。

さらに、文字列操作は単に表示のためだけではなく、条件分岐やフィルタリング、ログ分析などにも応用できます。Splitで分割した配列をforeachで回して、特定の値が含まれているかを調べたり、Substringで一部の文字を使ってカテゴリ判定したりといった処理も可能です。

実務では、たった一行の文字列から意味のあるデータを取り出すことが求められます。今回紹介したSplitとSubstringを使いこなすことが、その第一歩です。

先生と生徒の振り返り会話

生徒

「Splitってすごく便利ですね!一つの文字列がすぐに分けられるのは驚きでした。」

先生

「そうでしょう。カンマやスペース、区切り記号を使えば、いろんなデータに対応できますよ。」

生徒

「Substringは少し難しかったけど、何文字目から何文字か取るって考え方が分かれば、使いこなせそうです!」

先生

「その調子です。たとえば、郵便番号の上3桁を取り出したり、電話番号の市外局番だけを抜き出すのにも使えます。」

生徒

「SplitとSubstringを組み合わせれば、すごく柔軟な文字列処理ができるんですね。なんだかプロっぽいです!」

先生

「まさにその通り。小さな積み重ねがプロの技術につながりますよ。今後も文字列処理にたくさん触れて、自然に使いこなせるようにしていきましょう。」

カテゴリの一覧へ
新着記事
C#のActionとFuncを使いこなそう!初心者でもわかるメソッド活用テクニック
C#の継承とは?親クラス・子クラスの関係を基礎から学ぼう
C#で日付操作の落とし穴と注意点を解説|初心者向けにわかりやすく丁寧に解説
C#のイベントとメソッドの関係を理解しよう!初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.3
Java&Spring記事人気No3
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド
No.6
Java&Spring記事人気No6
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.7
Java&Spring記事人気No7
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.8
Java&Spring記事人気No8
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計