有一个像A = B& C = D& E = F的字符串,如何删除C = D部分并得到像A = B& E = F的字符串?
答案 0 :(得分:34)
要么将其替换掉:
input.Replace("&C=D", "");
或使用上一个问题中的一个解决方案,将其从数据结构中删除并重新加入。
使用我的代码:
var input = "A=B&C=D&E=F";
var output = input
.Split(new string[] {"&"}, StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Split('=', 2))
.ToDictionary(d => d[0], d => d[1]);
output.Remove("C");
output.Select(kvp => kvp.Key + "=" + kvp.Value)
.Aggregate("", (s, t) => s + t + "&").TrimRight("&");
答案 1 :(得分:3)
using System.Web; // for HttpUtility
NameValueCollection values = HttpUtility.ParseQueryString("A=B&C=D&E=F");
values.Remove("C");
values.ToString(); // "A=B&E=F"
答案 2 :(得分:2)
我认为你需要提供一个更清晰的例子,以确保它适合这种情况,但是这样的事情应该这样做:
var testString = "A=B&C=D&E=F"
var stringArray = testString.Split('&');
stringArray.Remove("C=D");
var output = String.Join("&", stringArray);
这样的东西应该有用,而且应该是非常动态的
答案 3 :(得分:1)
你可以分割()和手动连接(取决于数据的样子)或者使用string.Replace(,string.empty)
答案 4 :(得分:1)
将其拆分在&
分隔符上,通过某种机制排除C=D
部分,然后加入其余两个? String
类提供了您需要的方法,包括拆分,连接和子串匹配。
答案 5 :(得分:0)
string xyz = "A=B&C=D&E=F";
string output = xyz.Replace("&C=D","");
输出:A = B& E = F