1

.NET CFで文字列を分割しようとしましたが、成功しませんでした。次のような文字列がある場合:

こんにちは

世界

次に、各単語を文字列配列に格納して、データグリッドセルに個別に配置できるようにします。

残念ながら、私が持っているこのコードは新しい行を削除していないようです:

string text = _scanResult; //Scan result contains the Hello There World string
string[] lines = text.Split(new Char[] {'\n','\r');
for (int x = 0; x < lines.Length; x++)
{
    dt.Rows.Add(lines[x]);
}
dataGrid1.DataSource = dt;
4

3 に答える 3

2

Environment.NewLine代わりに使用し、次を使用しStringSplitOptions.RemoveEmptyEntriesます。

string[] lines = text.Split(new string[] {Environment.NewLine}, 
                            StringSplitOptions.RemoveEmptyEntries);
于 2012-11-09T14:58:49.400 に答える
0

.NET Compact Framework の String.Split では、パラメーターとして文字のみが受け入れられるためです。

私がしなければならなかったのは、改行を「\ n」文字に置き換えることだけでした。

これは、将来同じ問題に遭遇する可能性がある一部の人々のためのコードです。

string text = stringWithNewLines;
text = text.Replace(Environment.NewLine,"\n");
string[] lines = text.Split(new Char[] { '\n' });
for (int x = 0; x < lines.Length; x++)
{  
    if (!String.IsNullOrEmpty(lines[x]))
    {
    dt.Rows.Add(lines[x]); //Add each string to datatable rows for use in datagrid
    }
 }
于 2012-11-09T15:14:46.470 に答える
0

これは非常に単純なバージョンです。

var _scanResult = "foo\r\nbar\r\n";

var lines = System.Text.RegularExpressions.Regex.Split(_scanResult, "\r\n")
            .Where(l => !string.IsNullOrEmpty(l));
于 2012-11-09T21:42:51.157 に答える