我有这个字符串:
1#3.doc#0.036/n
2#1.doc#0.026/n
我想将其拆分,#
然后将每一行都放在DataTable中的一行中,如下所示:
1 3.doc 0.036
2 1.doc 0.026
我有一个这样的数据表:
DataTable table = new DataTable();
table.Columns.Add("Id", typeof(int));
table.Columns.Add("FileName", typeof(string));
table.Columns.Add("Content", typeof(string));
我怎样才能做到这一点?
这是将字符串拆分为几行,然后将这些行拆分为不同部分的方法。
您的字符串首先被换行符分割\n
成一个行数组string[]
。
然后,将这些线一一分成Split('#')
。
最后,这些部分与您创建的列一起添加到您的表中。
记住要保存创建的列,不要忘记将新创建的行添加到表中。
DataTable table = new DataTable();
DataColumn colID = table.Columns.Add("Id", typeof(int));
DataColumn colFileName = table.Columns.Add("FileName", typeof(string));
DataColumn colContent = table.Columns.Add("Content", typeof(string));
string source = "1#3.doc#0.036\n2#1.doc#0.026\n";
string[] lines = source.Split('\n');
foreach(var line in lines)
{
string[] split = line.Split('#');
DataRow row = table.NewRow();
row.SetField(colID, int.Parse(split[0]));
row.SetField(colFileName, split[1]);
row.SetField(colContent, split[2]);
table.Rows.Add(row);
}
row["FileName"] = data
也可以使用将数据添加到行中,但是如果您更改列的名称,则这样做会中断,而对列对象的引用则由编译器和IDE检查。另外本文介绍如何创建一个类型化的DataTable,这是你可能想要做的事。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句