【发布时间】:2012-12-13 15:59:07
【问题描述】:
我有一个关于拆分字符串的问题,并将其放在 DataTable 中。如何知道第二个数组是字符串还是数字?
我有一个包含许多这样的字符串的文本:
text : ...
abc 123 def 1 \"ok lo\" ;
abc def 1 \"ok lo\" ;
...
数组2:
tmpList[0] = abc
tmpList[1] = 123
tmpList[2] = def
tmpList[3] = 1 \"ok lo\"
数组1:
tmpList[0] = abc
tmpList[1] = def
tmpList[2] = 1 \"ok lo\
要查找所有以 abc 开头的字符串,我做了:
StreamReader fin = new StreamReader(userSelectedFilePath1);
string tmp = "";
while ((tmp = fin.ReadLine()) != null)
{
if (tmp.StartsWith("abc "))
{
var tmpList1 = tmp.Split(new[] { '"' }).SelectMany((s, i) =>
{
if (i % 2 == 1) return new[] { s };
return s.Split(new[] { ' ', ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
}).ToList();
table.Rows.Add(new object[] { tmpList1[0], tmpList1[1], tmpList1[2], tmpList1[3]});
}
}
使用此代码,我可以找到以 abc 开头的字符串,拆分并放入 DataTable。我怎么知道第二个索引是字符串还是整数?因为我做了什么,我的第二个索引有一个错误,它分裂不正确。我想if(tmp.StartsWith(abc NUMBER?))else做上面的代码
【问题讨论】:
-
如果您的问题是“您正在努力实现的目标”,那么任何人都会更容易回答。你的表模式是什么,为什么第二个数组需要是一个 int ?