0

我在 .txt 文件中有以下文本:

hello     123     example info
mello     456     xample text
yello             maple syrup

我在做:

string FILENAME = Server.MapPath(".") + @"\example.txt";
string[] allLines = File.ReadAllLines(FILENAME);
string[] items = allLines[i].Split('\t');

现在,对于最后一行,我得到两个连续的空列,而不是跳过第二个(items[1])并给我第三个。

我的最终结果如下所示:

hello     123     example info
mello     456     xample text
yello             

我实际上是在数据库中插入信息,但我不想详细说明,因为我知道问题出在拆分本身。

我的最终结果应该包括第三行中的第三列信息。

4

1 回答 1

2

只要空格使用制表符到达那里,您就可以通过 '\t' 分割行。如果他们正确使用了标签,那么您最终应该得到您想要的。相反,如果他们使用了空格,那么您最终会在第一列中看到所有文本,只是很长。相反,你得到的,什么都不是。最可能的解决方案是实际上有额外的选项卡,输出数组比预期的要长,例如,第三列现在位于 items[3] 插槽中,而不是 items[2]。很难告诉你如何控制这个,除了你可以测试 items[items.length-1] 而不是检查 items[2]。

于 2013-07-19T20:16:39.253 回答