指定の文字で区切られた文字列を分割して抜き出したいというケースは多いと思います。
代表的なのは CSV 。カンマで区切られて値が格納されています。
そんなときに使うのが string.Split メソッドです。
指定した区切り文字で分割し、分割した文字列を配列として取得することが出来ます。
基本的な使い方
カンマで区切られた文字列を分割してみます。
static void Main(string[] args)
{
string src = "13,東京都,とうきょうと,2193.96km2";
string[] dest = src.Split(',');
foreach (string s in dest)
{
Console.WriteLine(s);
}
}
Splitメソッドの1番目の引数に区切り文字を指定します。
結果は以下のような出力になります。
13 東京都 とうきょうと 2193.96km2
空の要素を無視するRemoveEmptyEntriesオプション
例えばスペース区切りの文字列の場合、要素と要素の間が複数個のスペースで構成されていたりします。
このような場合は、StringSplitOptions.RemoveEmptyEntries を使いましょう。
static void Main(string[] args)
{
string src = "13 東京都 とうきょうと 2193.96km2";
string[] dest = src.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in dest)
{
Console.WriteLine(s);
}
}
結果は以下のような出力なります。
13 東京都 とうきょうと 2193.96km2
文字列で分割
区切り文字が文字列でも分割する事ができます。
以下の例では [クギリ] という文字列で分割しています。
static void Main(string[] args)
{
string src = "13[クギリ]東京都[クギリ]とうきょうと[クギリ]2193.96km2";
string[] dest = src.Split(new string[] { "[クギリ]" }, StringSplitOptions.None);
foreach (string s in dest)
{
Console.WriteLine(s);
}
}
Splitメソッドの1番目の引数にstring型の配列を指定します。
結果は以下のような出力なります。
13 東京都 とうきょうと 2193.96km2

コメント
コメントを投稿