我有一个关于拆分字符串的问题并将其放在 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
做上面的代码