2013-12-19 20 views
1

我有一個文本格式的以下字符串。字符串顯示分割時出現額外逗號的空格

XSP,6919,LONWW38ST,,1,GBP,2055.94,382.94,,EK,BHX,,0,HYD,,0,C=IN,061114,4,45,10,2014,,251114,2,48,10,2014,,19,DNS,,,,,20131212112902,,,,,1345,EK,1,,061114,1325,071114,0015,BHX,,DXB,3,EK,EK,,40,77W,M,M,,LCA,Y,2,,071114,0345,071114,0840,DXB,3,HYD,,EK,EK,,526,345,M,M,,LCA,Y,,,,,,,,,,,,,,,,,,,,,3115,BA,3,,251114,0655,251114,1215,HYD,,LHR,5,BA,BA,,276,788,Y,M,,LCA,Y,4,,251114,1825,251114,1935, R,Y,1,2,,,,,MLSOWGB1,RP,,,ADT,3,4,,,,,YOW,RP,,,ADT,5,,,,,,XOW,RP,,,ADT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 

我使用下面的代碼

string fileName = @"C:\Test.txt"; 

    string str = string.Empty; 
    string s; 
    if (File.Exists(fileName)) 
    { 
     StreamReader sr = new StreamReader(fileName); 
     String line; 

     while ((line = sr.ReadLine()) != null) 
     { 
      if (line.Trim() != string.Empty) 
      { 
       string[] text = line.Split(','); 
       Response.Write(text[0]); 

      } 
     } 
    } 
    else 
    { 
     s = "File does not exists"; 
    } 

讀取字符串,但該字符串表示將有額外的逗號空間(,)當我分裂的字符串。我想忽略該空間並在Grid View中顯示字符串,並保存在數據庫中。

請幫忙!

感謝

回答

2

可以使用Split方法的第二個參數:

string[] text = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 

不過,我期望做,在這種情況下是一個壞主意。 「重複」逗號可能意味着該列爲空(假設您正在解析CSV文件)。

您可能想要尋找一個好的CSV解析庫 - 解析CSV並不像看起來第一眼那麼容易:)

+0

謝謝!請告訴我該如何解析csv格式的字符串 –

+0

@rahulaggarwal:這不適合StackOverflow,因爲您基本上要求我們爲您編寫一個(簡單的)應用程序。基本上,你會創建一個DataTable,填入想要的列和行,然後你可以將這個DataTable分配給GridView的DataSource屬性。插入到數據庫中也可以通過很多不同的方式完成,例如,您可以在Google上輕鬆找到它們:) – Luaan

相關問題