2013-03-09 16 views
1

我有一些像這樣的文本的文本文件:建議用於解析文本

#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

回答

1
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++; 
}  
}