/t
文字を使用して次の文字列を分割しようとしています。分割がTAB文字で動作しません
string bounces = "BounceEmail\tBounceType\tBounceDate\tBounceDescription\r\[email protected]\tHARD_BOUNCE\t2016-07-01
16:50:26\t\r\[email protected]\tHARD_BOUNCE\t2016-07-01
16:50:26\t"
しかし、私の驚きに、次のコマンドが動作しないと私は上記と同じ文字列であるだけで一つの要素の配列を取得します:
string[] columns = bounces.Split('\t');
UPDATE:ここに完全な機能ですがDataTable
public static DataTable GetCsvStringAsDataTable(string csvContent, char delimeter)
{
DataTable dt = new DataTable();
List<string> lines = new List<string>();
try
{
string[] linesArr = csvContent.Split(Environment.NewLine.ToCharArray());
foreach (var line in linesArr)
lines.Add(line);
if (lines.Count == 0)
return null;
string headerLine = lines[0];
string[] columns = headerLine.Split(delimeter);
lines.RemoveAt(0);
for (int col = 0; col < columns.Length; col++)
dt.Columns.Add(columns[col].Trim());
foreach (var line in lines)
{
var cols = line.Split(delimeter);
DataRow dr = dt.NewRow();
for (int cIndex = 0; cIndex < cols.Length; cIndex++)
dr[cIndex] = cols[cIndex].Trim();
dt.Rows.Add(dr);
}
return dt;
}
catch (Exception ex)
{
Log.Error(ex.Message);
return null;
}
}
にCSVファイルの内容を変換UPDATE 2:これはAPIから受け取った入力文字列です。
ここで与えられたあなたのコードでは、作業を行います。あなたはファイルから文字列を読み込みますか?それは本当に何を含んでいますか? –
@PatrickHofman私は使用している機能全体を使ってコードを更新しました。私はコードを簡素化し、それはおそらく合理的ではなかった。 – Disasterkid
私は4行のデータテーブルを取得します。 –