我有一个如下字符串:
string str = "Key=abc;arg=pqr;lock=100;timeout=1;"
Run Code Online (Sandbox Code Playgroud)
现在我从字符串中替换此部分:
arg=pqr;
Run Code Online (Sandbox Code Playgroud)
所以我的最终字符串如下所示:
string final ="Key=abc;lock=100;timeout=1;"
Run Code Online (Sandbox Code Playgroud)
我尝试过如下:
string final = str.Replace("arg=pqr;", "");
Run Code Online (Sandbox Code Playgroud)
但问题是,当pqr改变其他类似的东西时Lmn,它将无法工作.
我建议使用正则表达式,以取代模式:"arg="其次是字母数字值有;:
string str = "Key=abc;arg=pqr;lock=100;timeout=1;";
string final = Regex.Replace(str, @"arg=[0-9a-zA-Z]*;", "");
Run Code Online (Sandbox Code Playgroud)
在一般情况下,您可以实现这样的方法:
private static string RemoveRecord(string source, string name) {
string pattern = @"(?<!\w)" + Regex.Escape(name) + "=[0-9a-zA-Z]*;";
return Regex.Replace(source, pattern, "");
}
...
string final = RemoveRecord("Key=abc;arg=pqr;lock=100;timeout=1;", "arg");
Run Code Online (Sandbox Code Playgroud)