C# 如何在c中替换字符串中的子字符串#
我想替换字符串中的子字符串134和1254C# 如何在c中替换字符串中的子字符串#,c#,C#,我想替换字符串中的子字符串134和1254 ((startTime==134)&&(endTime==1254)) 使用一些动态值-例如,分别为154和1234。 我已经使用String.Split方法编写了place的代码,但是代码似乎很长。如何使其更短、更坚固 代码如下: string s = "((startTime==134)&&(endTime==1254))"; string[] time = s.Split(')').Reverse().ToArr
((startTime==134)&&(endTime==1254))
使用一些动态值-例如,分别为154和1234。
我已经使用String.Split
方法编写了place的代码,但是代码似乎很长。如何使其更短、更坚固
代码如下:
string s = "((startTime==134)&&(endTime==1254))";
string[] time = s.Split(')').Reverse().ToArray();
var start = time.FirstOrDefault(s => s.Contains("startTime")).Split('=')[2];
var end = time.FirstOrDefault(e => e.Contains("endTime")).Split('=')[2];
start ="154";
end = "1234"
time[3] = "((startTime=="+start;
time[2] = "&&(endTime=="+end;
string joinedstring;
joinedstring= String.Join(")", time.Reverse());
使用如下所示的方法替换字符串中的字符
string output = input.Replace("old_value", "new_value");
法希姆的回答基本上是问题的完美答案。您可能希望澄清实际任务是什么,例如
String.Format
(比如((startTime={0})和&(endTime={1}))
)或者正确解析异常可能是解决实际问题的更好方法(如果更完整的需求对新问题的更改太多,请考虑新问题是否更合适)。