2014-10-04 81 views
-2

我有兩個字符串變量分別命名爲X和Y.我想要的是從Y變量中替換X字符串。我使用的命令string.replace沒有任何東西通過。 我使用的代碼如下所示,由於 斯塔夫羅斯 Afxentis替換字符串C#不工作

 string Y= string.Empty; 
     string X= string.Empty; 

      Y= get_y_value(...);   // my method to get string y 
      X= get_x_vale(...);   // my method to get string X 
      Y= Y.Replace(X, ""); 
     // i also used Y= Y.Replace(X.ToString(), ""); 
     // but the result is the same 
+1

然後X中未發現Y,甚至沒有。它的工作原理與其記錄的一樣。 – user2864740 2014-10-04 22:30:56

+0

您只需將'Y'設置爲'string.Empty' ...在Replace()後它仍然是'string.Empty'。你刪除了一些代碼嗎?在調用'Replace()'之前,什麼值存儲在'X'和'Y'中? – 2014-10-04 22:32:54

+0

如果您發佈實際代碼/更多代碼,可能會有所幫助。用你所顯示的代碼,無論X是什麼,Y總是'string.Empty',所以你不可能取代任何東西。 – 2014-10-04 22:33:32

回答

2

替換是用來改變另一個字符串內的「字」。像這樣:

string badString = "Can I has the code"; 
string goodString = badString.Replace("has", "have"); 

你最大的問題是兩個字符串都是空的。

0

的代碼應該工作得很好,因爲你是用0長度的字符串替換它,它會刪除串X,可能有兩個原因,爲什麼這是行不通的, 1)X不以y 2中)你沒「T打印或顯示已更新的ÿ

-1

最後我用下面的代碼,其中,i轉換的字符串爲char陣列和我刪除了不需要的文本..以下僞代碼:

  int i=0; 
      while ((i<Y.Length) && (counter<1)) 
      { 
       //ignore part of the string 
       // and save the position of the char array i want 
      } 

     while (poss<Y.Length) 
     { 
     new_ch[poss] = ch[poss]   //save the array to new char array 
     } 
    string y_new = new string(new_ch);