簡體   English   中英

如何有效地刪除一部分字符串

[英]How to remove a part of string effectively

有一個像A = B&C = D&E = F的字符串,如何刪除C = D部分並得到像A = B&E = F的字符串?

要么只是將其替換掉:

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("&");
using System.Web; // for HttpUtility

NameValueCollection values = HttpUtility.ParseQueryString("A=B&C=D&E=F");
values.Remove("C");
values.ToString();  // "A=B&E=F"

我認為你需要給出一個更清晰的例子,以確保它適合這種情況,但是這樣的事情應該這樣做:

var testString = "A=B&C=D&E=F"
var stringArray = testString.Split('&');
stringArray.Remove("C=D");
var output = String.Join("&", stringArray);

這樣的東西應該有效,而且應該非常有活力

你可以split()和手動連接(取決於數據的樣子)或者simly使用string.Replace(,string.empty)

將它拆分在&分隔符上,通過某種機制排除C=D部分,然后加入剩下的兩個? String類提供了您需要的方法,包括拆分,連接和子串匹配。

string xyz = "A=B&C=D&E=F";
string output = xyz.Replace("&C=D","");

輸出:A = B&E = F.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM