トップページ >  C# >  文字列を分割
初版2012/07/06: 最終更新日2012/07/06
  文字列を分割
目次
文字列を分割
区切り文字が複数ある文字列を分割
文字列を分割
C#で文字列を分割するにはStringのSplitを使用します。
例えば、001-100001という文字列があったとします。これを-(ハイフン)をセパレーターとして分割したい場合、以下のようにします。

using System;

class a{
    static void Main(){
        string str = "001-100001";
        Console.WriteLine(str.Split('-')[0]);
        Console.WriteLine(str.Split('-')[1]);
    }
}
Splitの引数にはcharを渡します。この場合、-(ハイフン)を渡し、分割された値は配列のように順に入っています。
実行結果は以下のようになります。

001
100001
区切り文字が複数ある文字列を分割
上記ではセパレーターは-(ハイフン)だけですが、例えば、ハイフンと:(コロン)の二つをセパレーターとして分割したい場合は、セパレータをstringの配列で持ちます。

string[] sep = {"-"":"};
この配列をSpritの引数に指定します。第二引数はStringSplitOptions.Noneとします。
以下、サンプルです。

using System;

class a{
    static void Main(){
        string str = "001-100001:1";
        string[]sep = {"-",":"};
        Console.WriteLine(str.Split(sep,StringSplitOptions.None)[0]);
        Console.WriteLine(str.Split(sep,StringSplitOptions.None)[1]);
        Console.WriteLine(str.Split(sep,StringSplitOptions.None)[2]);
    }
}
実行結果は以下の通りです。

001
100001
1
ちなみに

str.Split(sep,StringSplitOptions.None);
の戻り値はstring型の配列になります。