2017-08-30 41 views
-4

我在C#中有一個問題,以替換兩個管道之間的字符串或結束管道。替換2管道之間的字符串c#

例如:我要替換第二個值

之前:0 | | 2 | 3

替換後:0 | | 2 | 3

我該怎麼做?該值也可以是2位或更多。

第二個問題:我怎樣才能取代第一個沒有開始管道的值?

應當動態地選擇我想改變等,其價值「replaceString(字符串文本,詮釋valueindexToReplace,串replacewiht)」

謝謝您的幫助。

+5

使用string.split和的string.join? – Derek

+1

你有沒有嘗試過任何東西? – Maritim

回答

4

本示例讓您用「4」替換第二個數字(index = 1)。

string s = "0|1|2|3"; 
var split = s.Split('|'); 
split[1] = "4"; 
string after = string.Join("|", split); 

或者與方法如你所說:

string s = "0|1|2|3"; 
string after = replaceString(s, 1, "4"); 

string replaceString(string text, int valueindexToReplace, string replaceWith) 
{ 
    var split = text.Split('|'); 
    split[valueindexToReplace] = replaceWith; 
    string after = string.Join("|", split); 
    return after; 
} 
2
public string SetInPipe(string pipe, int index, string pipeItem) 
{ 
    var split = pipe.Split('|'); 
    split[index] = pipeItem; 
    return string.Join("|", split); 
} 

例子:

var result = SetInPipe("0|1|2|3", 1, "4");