我有一个预定义的文本文件。 我没有像xsd这样的东西,但可以看到模式。
例如它看起来像这样:
[MyFIRSTPARAGRAPH]
NUM1 NUM2 NUM3 NUM4 NUM5 NUM6 NUM7 NUM8 NUM9 NUM10 NUM11
1 1 0.000 0.000 0.000 0 1 1 0 0 ""
2 2 22.800 0.000 0.000 0 1 1 0 0 ""
3 3 45.600 0.000 0.000 0 1 1 0 0 ""
4 4 68.400 0.000 0.000 0 1 1 0 0 ""
5 5 91.200 0.000 0.000 0 1 1 0 0 ""
6 6 0.000 32.800 0.000 0 1 1 0 0 ""
7 7 22.800 32.800 0.000 0 1 1 0 0 ""
8 8 45.600 32.800 0.000 0 1 1 0 0 ""
9 9 68.400 32.800 0.000 0 1 1 0 0 ""
10 10 91.200 32.800 0.000 0 1 1 0 0 ""
很多段落用空格分隔。
任何解压缩最好解析这样的文件并从文本中提取值。
答案 0 :(得分:2)
我的第一个猜测是做这样的事情:
using(var reader = GetStreamReader())
{
bool justReadATag = false;
string line = string.Empty;
while((line = reader.ReadLine()) != null)
{
if(IsTag(line))
{
// do some work with the paragraph tag
justReadATag = true;
}else{
string[] parts = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if(justReadATag)
{
// do some work with the column names
justReadATag = false;
}else
{
// do some work with the cell values
}
}
}
}
答案 1 :(得分:0)
我建议使用File.ReadAllLines
方法阅读完整的文件。现在,您可以逐个迭代所有行。然后,对于每一行,使用String.Split(' ')
来获取由行