分割文字列について質問があり、それを DataTable に入れます。2 番目の配列が文字列か数値かを知るにはどうすればよいですか?
次のような多くの文字列を含むテキストがあります。
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 に入れることができます。2 番目のインデックスが文字列か整数かを知るにはどうすればよいですか? 私がしたことで、2番目のインデックスにエラーがあり、正しく分割されないためです。if(tmp.StartsWith(abc NUMBER?))
else
上記のコードを実行することを考えます