1. C#のSplitメソッドとは?
プログラミングにおいて、文字列の分割は非常によく行われる操作です。
そのような操作を簡単に行うために、C#ではString型にSplitメソッドが提供されています。
Splitメソッドは文字列を特定の区切り文字で分割し、その結果を文字列の配列として返します。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133655-300x300.png)
KindleUnlimited会員であれば、全ての本をご覧頂けます。 Linqを理解すれば、C#プログラミングの世界が変わる 第1版
![](https://csharpprogram.com/wp-content/uploads/2023/03/kindle_1st_1600x2560(枠あり)-188x300.jpg)
2. Splitメソッドの基本的な使い方
Splitメソッドは非常にシンプルで直感的に使うことができます。
基本的な使用法は次のようになります。
1. Splitメソッドを呼び出す対象の文字列を指定します。
2. Splitメソッドの引数に、区切り文字を指定します。
3. 結果として得られる文字列の配列を受け取ります。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133712-300x300.png)
2.1. ソースコード例1
ソースコード例1
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Program { public static void Main() { string sentence = "Hello, World, How, Are, You"; string[] words = sentence.Split(','); foreach (string word in words) { Console.WriteLine(word.Trim()); } } } |
このソースコードでは、カンマで区切られた文字列を分割しています。
そして、Trimメソッドを使用して、分割後の各文字列から余分な空白を削除しています。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題824_20230225215240-300x300.png)
出力結果
Hello
World
How
Are
You
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
3. Splitメソッドの拡張
Splitメソッドは、単一の区切り文字だけでなく、複数の区切り文字を指定することも可能です。
さらに、オプションとして、空の要素を結果から除外することもできます。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133712-300x300.png)
3.1. ソースコード例2
ソースコード例2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; public class Program { public static void Main() { string sentence = "Hello World...How...Are...You?"; char[] delimiters = new char[] { ' ', '.', '?' }; string[] words = sentence.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); foreach (string word in words) { Console.WriteLine(word); } } } |
このソースコードでは、スペース、ピリオド、クエスチョンマークを区切り文字として指定しています。
また、SplitOptions.RemoveEmptyEntriesを指定することで、空の要素を結果から除外しています。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題824_20230225215240-300x300.png)
出力結果
Hello
World
How
Are
You
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
4. SplitメソッドとLINQ
C#では、SplitメソッドとLINQ(Language Integrated Query)を組み合わせて、さらに強力な文字列操作を行うことが可能です。
例えば、分割された文字列をさらに処理したり、特定の条件を満たす文字列だけを選択したりすることができます。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133655-300x300.png)
LINQは、集合データを扱うための強力なツールです。
特に、フィルタリング、ソート、変換などの操作を行う際に非常に便利です。
さらに、LINQはシーケンス(配列やリストなど)に対する一連の操作を表現するための統一された構文を提供します。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133712-300x300.png)
4.1. ソースコード例3
ソースコード例3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; using System.Linq; public class Program { public static void Main() { string sentence = "Hello, World, How, Are, You"; string[] words = sentence.Split(','); var filteredWords = words.Where(word => word.Length > 3).Select(word => word.Trim()); foreach (string word in filteredWords) { Console.WriteLine(word); } } } |
このソースコードでは、Splitメソッドで分割した後、LINQを使用して次の処理を行っています:
1. 文字数が3より大きい文字列だけを選択(Whereメソッド)。
2. 選択された文字列から余分な空白を削除(SelectメソッドとTrimメソッド)。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題824_20230225215240-300x300.png)
出力結果
Hello
World
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
5. まとめ
この記事では、C#のString型のSplitメソッドの使い方について詳しく解説しました。
Splitメソッドは非常に強力で、文字列の分割だけでなく、それらをさらに加工するためのスタート地点ともなります。
基本的な使い方から、複数の区切り文字を指定する方法、さらにはLINQとの組み合わせまで、幅広く見てきました。
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!
![](https://csharpprogram.com/wp-content/uploads/2021/04/無題825_20230315133637-300x300.png)
これで、C#のString型のSplitメソッドの使い方について理解が深まったはずです。この知識を活かして、より効果的なコーディングを行ってください。これからもプログラミング学習に頑張ってくださいね!