我在C#中遇到一个问题,就是在两个管道之间或用一个结束管道替换字符串。
示例:我想替换第二个值
之前:0 | 1 | 2 | 3
替换后:0 | 4 | 2 | 3
我该怎么做?该值也可以是2位数或更多。
还有第二个问题:如何替换第一个没有开始管道的值?
应该动态地选择我想要更改的值,例如" replaceString(string text,int valueindexToReplace,string replacewiht)"
感谢您的帮助。
答案 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");
示例:
{{ }}