文字列を特定の文字で分割し、Stringの配列に格納するには
System.String.Splitメソッド
を用います。
CSVファイルを読み込む時などはカンマ(,)で区切るので、このSplitメソッドを使います。
このメソッドの定義は
array^ Split ( array<String^>^ separator, StringSplitOptions options )
パラメータ
separator
分割する文字列をString配列で指定します。
options
StringSplitOptions::Nodeを指定すると分割した文字列が空の場合でもそのまま返します。
StringSplitOptions::RemoveEmptyEntriesを指定すると分割した文字列が空の場合、除去されます
【サンプルプログラム】
String^ SrcText = "A,B;C,,E,F";
//分割する文字列の配列
array<String^>^ SepString ={",", ";"};
//文字列の分割
array<String^>^ TextArr1 = SrcText->Split(SepString, StringSplitOptions::RemoveEmptyEntries);
array<String^>^ TextArr2 = SrcText->Split(SepString, StringSplitOptions::None);
このコードを実行し、TestArr1とTestArr2の中身をウォッチで確認すると、以下の通りとなります。
区切り文字が1つの場合は
array<String^>^ TextArr3 = SrcText->Split(‘,’);
のように区切ることもできます。
ただし、この場合はシングルクォーテーション( ‘ )なので注意して下さい。
コメント