2012-04-20 34 views
1

問題は簡単ですが、私はこれを克服する方法を見つけることができません。私のアプリケーションはIDのリストである文字列(stringID)を受け取っています。すべてのこれらのIDを持つテーブルを取得するためには何イムしようとCharの改行改行(C#)

ID1; 
ID2; 
ID3; 

または

ID1 
ID2 
ID3 

;:同じように改行

は、私が試した:

string[] tabID = stringID.Split(';', char.Parse(Environment.NewLine)); 

そして

string[] tabID = stringID.Split(';', '\r\n')); 
string[] tabID = stringID.Split(';','\n'); 

を何も誰も私を助けることができる、働いていませんか?ありがとうたくさん

答えて

3

StringReaderクラスとそのメソッドReadLineを使って、各行を個別に読み込みます。

+0

私は、これは '.Splitを()'使用するよりも、よりよい解決策だと思います。 –

+0

ありがとう、それは私がやったことだし、それは完璧に正常に働いた – WizLiz

1

これは動作するはずです:

string [] split = words.Split(new Char [] {';','\n'}); 

多くのセパレータのchar[]を取るSplitためのオーバーロードがあります。改行プロパティは、1つのまたは2つの文字で、あなたが分割したときに文字列を使用できる文字列である

string[] tabID = stringID.Split(new Char[] { ';', '\n', '\r'}, 
          StringSplitOptions.RemoveEmptyEntries); 
+0

質問と同じ書いた:/ – Reniuz

+0

@レニーズ何を意味するのですか? OPは存在しているオーバーロードを使用していません、 'params char []'を取るものはありません – gideon

+0

この 'string [] tabID = stringID.Split( ';'、 '\ n');'あなたの答え – Reniuz

0

はこれを試してみてください。 RemoveEmptyEntriesオプションを使用してください。そうしないと、セミコロンと改行の間に空の文字列が表示されます。

string[] tabID = stringID.Split(
    new string[] { ";", Environment.NewLine }, 
    StringSplitOptions.RemoveEmptyEntries 
); 
1

試してみてください。

String test = "ID1;ID2;ID3;"; 
String[] testarr = test.Split(';');