指定の文字で区切られた文字列を分割して抜き出したいというケースは多いと思います。
代表的なのは 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
関連記事
- C#の値型と参照型の違い
- C#のコンストラクタでオーバーロード
- C#のコンストラクタの継承
- C#のジェネリックを使おう
- C#のデリゲート (delegate) って何?
- C#のデリゲートお手軽にする匿名メソッド
- C#のラムダ式【=>】って何?
- C#で基底クラスのメソッドを置き換えるオーバーライド
- C#でキャストとas演算子を使いこなす
- C#で型を判別するtypeofとis演算子
- C#の値型でもnullを扱えるようにするNullable
- C#のリソース解放にはIDisposableとusingを使おう
- C#のStringとstring、Int32とint 違いは・・・ない!
- C#でasync/awaitを使った非同期処理
- C#で文字列を指定の区切り文字で分割
- C#のstring.Formatで桁数や書式を指定する
- C#の配列やListをソートする
- C#の配列やListを検索する (Find,FindAll,FindIndex)
- C#の配列やListを高速に検索する (BinarySearch)
- C#の配列の中に指定の要素が存在するかを調べる(LINQ Contains)
- C#の配列の中に条件を満たす要素が存在するかを調べる(LINQ Any)
- C#の配列から条件に合う要素を抽出する(LINQ Where)
- C#の配列で要素毎の処理結果を得る(LINQ Select)
- C#の配列を並び替える(LINQ OrderBy,ThenBy)
- C#の配列をグループ毎に処理する(LINQ GroupBy)
- C#の配列を内部結合(INNER JOIN)する(LINQ Join)
- C#の配列から最初の要素を取り出す(LINQ First,FirstOrDefault)
- C#の配列の重複要素を削除する(LINQ Distinct)
- C#でフォルダ内のファイル名一覧を取得する
- C#でテキストファイルを読み込む
- C#でテキストファイルに書き込む
- C#でバイナリファイルを読み込む
- C#でバイナリファイルに書き込む
コメントをお書きください