2012-09-19 154 views
0

我正在將.txt文件導入到Microsoft Excel工作表中,它工作得很好,但問題在於當我要編輯單元格的內容時,例如,我有我的列,然後通過它到Excel工作表中,這就是我在單元格「患者姓名:羅賓」中獲得的內容,我只想在該單元格中顯示「:」後面的內容。這是我的代碼。字符串中的修剪行

System.IO.StreamReader archivo = new System.IO.StreamReader(NombreFile); 

int lineacnt = 0; 
    string[] ListInfo = new string[49]; 

for (int b = 1; b < 49; b++) 
{ 
    ListInfo[b] = archivo.ReadLine(); 
    //Here I got an error of an object reference// 
    **contenidoEMG[0, i] = ListInfo[7].Remove(ListInfo[7].IndexOf(':'));** 
    contenidoEMG[1, i] = ListInfo[11]; 
    contenidoEMG[2, i] = ListInfo[12]; 
+2

你引入一個新的變量'contenidoEMG'你在哪裏得到的錯誤,而不顯示它的聲明或初始化? –

+0

contenidoEMG在此代碼塊之外聲明。 –

+0

在那邊等一下,你正在對字符串A進行刪除,但是在字符串B中引用了一個索引。這就是你要發佈的內容嗎? – iMortalitySX

回答

1

string.Remove(int startIndex)返回一個字符串,其中刪除了startIndex後的所有字符。

var str = "patient name:Robin"; 
var newStr = str.Remove(str.IndexOf(':')); 
Console.WriteLine(newStr); // prints 'patient name' 

如果你想羅賓時,你應該做的str.Remove(0, str.IndexOf(':')+1);

+0

好的,但我可以在ListInfo []的每個元素中使用它,因爲我將所有行存儲在Listinfo []中,並且只想將內容存儲在「:」之後。謝謝! –

+0

您的意思是您目前在ListInfo [x]中存儲'患者姓名:羅賓',但您只想存儲'羅賓'?你能給個例子嗎? – Sruti

+0

不,我讀的是包含2315行的.txt文件,我使用Readline方法只讀取前49行,這行存儲在我的listinfo []中,每行包含幾個數據,其中一個例子是¨Patientname: Robin¨,Patien姓氏:Smith¨等,所以我只想在¨之前獲得內容:¨ –

0

你在做什麼檢查ListInfo[7]是正確的字符串,而不是空?那可能是你遇到問題的地方。