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メソッドに引数の渡すパターンがあります。
詳しくは公式のこちらを確認してみてください。
コメント