更换2个管道之间的字符串c#

时间:2017-08-30 18:22:02

标签: c# replace pipe

我在C#中遇到一个问题,就是在两个管道之间或用一个结束管道替换字符串。

示例:我想替换第二个值

之前:0 | 1 | 2 | 3

替换后:0 | 4 | 2 | 3

我该怎么做?该值也可以是2位数或更多。

还有第二个问题:如何替换第一个没有开始管道的值?

应该动态地选择我想要更改的值,例如" replaceString(string text,int valueindexToReplace,string replacewiht)"

感谢您的帮助。

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:2)

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

示例:

{{ }}