C# 更换两个管道c之间的管柱#

C# 更换两个管道c之间的管柱#,c#,replace,pipe,C#,Replace,Pipe,我在C#中遇到了一个问题,即如何将两个管道之间的字符串替换为一个末端管道 示例:我想替换第二个值 之前:0 |12 | 3 更换后:0 |42 | 3 我该怎么做?该值也可以是2位数或更多 还有第二个问题:如果没有起始管道,如何替换第一个值 应该动态地选择要更改的值,如“replaceString(string text,int valueindexToReplace,string replacewiht)” 感谢您的帮助。此示例允许您将第二个数字(索引=1)替换为“4” 或者使用您建议的方法:

我在C#中遇到了一个问题,即如何将两个管道之间的字符串替换为一个末端管道

示例:我想替换第二个值

之前:0 |12 | 3

更换后:0 |42 | 3

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

还有第二个问题:如果没有起始管道,如何替换第一个值

应该动态地选择要更改的值,如“replaceString(string text,int valueindexToReplace,string replacewiht)”


感谢您的帮助。

此示例允许您将第二个数字(索引=1)替换为“4”

或者使用您建议的方法:

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;
}
例如:

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

使用string.split和string.join?你试过什么吗?
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");