建议用于解析文本

问题描述:

我有一些像这样的文本的文本文件:建议用于解析文本

#rn=three   rutid=svt# 
#outgoing# 
    sz   sucs  sw-loss  ans-comp cong  dur-absy  
    0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 
    dsz   ratpt  ovfl  usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00008.00 00000.00 00008.00 00000.00 00000.00 00000.00 
#incoming# 
    sz   sucs  ans-comp usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00008.00 00000.00 00008.00 00000.00 00000.00 00000.00 

#rn=board   rutid=svt# 
#outgoing# 
    sz   sucs  sw-loss  ans-comp cong  dur-absy  
    0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 
    dsz   ratpt  ovfl  usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 
#incoming# 
    sz   sucs  ans-comp usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 

#rn=conf6   rutid=svt# 
#outgoing# 
    sz   sucs  sw-loss  ans-comp cong  dur-absy  
    0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 
    dsz   ratpt  ovfl  usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 
#incoming# 
    sz   sucs  ans-comp usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 

#rn=dtimon   rutid=svt# 
#outgoing# 
    sz   sucs  sw-loss  ans-comp cong  dur-absy  
    0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 
    dsz   ratpt  ovfl  usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 
#incoming# 
    sz   sucs  ans-comp usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 

#rn=conf10   rutid=svt# 
#outgoing# 
    sz   sucs  sw-loss  ans-comp cong  dur-absy  
    0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 
    dsz   ratpt  ovfl  usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 
#incoming# 
    sz   sucs  ans-comp usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 

#rn=rconf6   rutid=svt# 
#outgoing# 
    sz   sucs  sw-loss  ans-comp cong  dur-absy  
    0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 
    dsz   ratpt  ovfl  usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 
#incoming# 
    sz   sucs  ans-comp usg-bsy  usg-ovall usg-ans  
    0000000000 0000000000 0000000000 00000.00 00000.00 00000.00 
    usg-idle usg-mnt  usg-inst usg-flt  usg-cns  usg-lock  
    00000.00 00000.00 00000.00 00000.00 00000.00 00000.00 

现在我要分析它,我必须将它转化成一个列表或数组。 我有一个想法来解析模式的每一行,但我认为有一个简单的方法,我不知道。 请帮助我,如果你有一个解决方案 我想一个C#解决方案

+3

它的更好,如果你告诉我们,你的代码。分享你的研究有助于每个人告诉我们你发现了什么,以及它为什么不符合你的需求。这表明你已经花时间去尝试帮助自己,它使我们避免重申明显的答案,最重要的是它可以帮助你得到更具体和相关的答案:)祝你好运! – 2013-03-09 08:17:18

+2

预期产量是多少? – VladL 2013-03-09 08:17:51

+0

编写它最简单的方法是自己做(特别是因为你已经知道如何做到这一点)。否则,请发布您的代码,详细解释您遇到的问题。 – 2013-03-09 08:18:51

int counter = 0; 
string line; 

// Read the file and display it line by line. 
using (StreamReader file = new System.IO.StreamReader("c:\\test.txt"); 
{ 
List<string> items = new List<string>(); 
while((line = file.ReadLine()) != null) 
{ 
    if (!line.Trim().StartsWith("#") && !line.Trim().StartsWith("0")) 
    { 
    string[] arr = line.Split('\t'); //each item 
    items.Add(line);     //or if you want the whole row 
    } 

    counter++; 
}  
}