C#で文字列を分割する方法!サンプル4選(Splitメソッド)

C# C#

C#で文字列を分割する方法について書いています。
文字列を分割する場合には、文字列からSplitメソッドを呼んで分割すると良いです。

最初に簡単に解説して、その後に4つのサンプルコードを使って解説しています。
載せているコードについては、.Netのバージョン6(C#のバージョン10)で確認しました。

Splitメソッドの使い方

Splitメソッドは文字列から呼び出して使うことができます。
例えば、下記のように使うことが可能です。

var zipCode = "810-0001";
var splitCodes = zipCode.Split("-");

Console.WriteLine(splitCodes[0] + splitCodes[1]); // 8100001

郵便番号からハイフンを削除しています。
最初にzipCode変数にハイフンが入った郵便番号の「810-0001」を格納しています。

その次にzipCode変数からSplitメソッドを呼んでいます。
引数に渡しているのは、区切り文字です。
今回は「-」を渡しているので、ハイフンで文字列を分割します。

分割した文字列は、文字列の配列として返ってきます。
返ってきた配列をsplitCodes変数に格納しました。

最後にConsole.WriteLineで出力しています。
splitCodes[0]で先頭の「810」を取り出して、次のsplitCodes[1]で末尾の「0001」を取り出しています。
ふたつの文字列を結合して、結果「8100001」が出力されました。

Splitメソッドを使ったサンプルコード4選

Splitメソッドを使って、文字列を分割してみました。
下記の4つの内容で分割してみました。

・カンマ区切りで分割する
・文字列で分割する
・複数の区切り文字で分割する
・改行コードで分割する

カンマ区切りで分割する

カンマ区切りで、文字列を分割してみました。

string fruits = "りんご,ぶどう,みかん,れもん";

string[] splitFruits = fruits.Split(',');
foreach (string fruit in splitFruits) {
    Console.WriteLine(fruit);
}

fruits変数にカンマで区切った文字列を格納しています。
次の処理で、fruits変数からSplitメソッドを呼んでいます。

引数で「,」を渡しているので、カンマ区切りで分割されます。
分割結果をsplitFruits変数に格納しました。

foreach文で値を出力すると、下記のようになり、カンマ区切りで分割されたことが確認できました。

りんご
ぶどう
みかん
れもん

複数の区切り文字で分割する

複数の区切り文字で、文字列を分割してみました。
カンマ「,」とセミコロン「;」を区切り文字に指定しています。

string fruits = "りんご,ぶどう;みかん,れもん;もも";

string[] splitFruits = fruits.Split(new char [] {',', ';'});
foreach (string fruit in splitFruits) {
    Console.WriteLine(fruit);
}

最初にカンマとセミコロンで文字列を区切って、fruits変数に格納しています。
次の処理で、fruits変数からSplitメソッドを呼んでいます。

引数に文字型(char)の配列を渡しています。
こうすることで、複数の区切り文字を指定することが可能です。
文字型の配列の内容が区切り文字になります。

splitFruits変数に結果を格納しました。
foreach文で値を出力すると、下記のようになりました。
カンマ「,」とセミコロン「;」で分割されたことが確認できました。

りんご
ぶどう
みかん
れもん
もも

文字列で分割する

特定の文字列で、文字列を分割してみました。
「テスト」という文字列をもとに分割しています。

string testText = "文字列テストあいうえおテストかきくけこ";

string[] texts = testText.Split("テスト");
foreach (string text in texts) {
    Console.WriteLine(text);
}

testText変数に「テスト」を間に含んだ適当な文字列を格納しています。
次の処理で、testText変数からSplitメソッドを呼んでいます。

「テスト」という文字列をSplitメソッドに渡しています。
こうすることで、渡した文字列で分割されます。

texts変数で結果を受け取りました。
foreach文で値を出力すると、下記のようになりました。
文字列の「テスト」で分割されました。

文字列
あいうえお
かきくけこ

改行コードで分割する

改行コード(\n)で、文字列を分割してみました。

string fruits = "りんご\nぶどう\nみかん";

string[] splitFruits = fruits.Split('\n');
foreach (string fruit in splitFruits) {
    Console.WriteLine(fruit);
}

fruits変数に改行コードを含んだ文字列を格納しました。
次の処理で、fruits変数からSplitメソッドを呼んでいます。

Splitメソッドに改行コードを渡しています。
これで、改行コードで文字列が分割されます。

splitFruits変数で結果を受け取りました。
foreach文で値を出力すると、下記のように、改行コードで分割されました。

りんご
ぶどう
みかん

おわりに

C#で文字列を分割してみました。
Splitメソッドを使うことで、文字列の分割ができました。

今回試した使い方以外にも、Splitメソッドに引数の渡すパターンがあります。
詳しくは公式のこちらを確認してみてください。

コメント

タイトルとURLをコピーしました