Как эффективно удалить часть строки

Имейте строку типа A = B & C = D & E = F, как удалить часть C = D и получить строку, такую ​​как A = B & E = F?

Ответы

Ответ 1

Либо просто замените его:

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("&");

Ответ 2

using System.Web; // for HttpUtility

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

Ответ 3

Я думаю, вам нужно дать более ясный пример, чтобы убедиться, что это что-то для ситуации, но что-то вроде этого должно сделать это:

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

Что-то вроде этого должно работать и должно быть довольно динамичным

Ответ 4

Вы можете либо разделить(), либо вручную присоединиться (в зависимости от того, как выглядят данные) или просто использовать string.Replace(, string.empty)

Ответ 5

Разделите его на разделителе &, исключите часть C=D каким-то механизмом, затем присоедините оставшиеся два? Класс String предоставляет методы, которые вам нужны для этого, включая разделение, объединение и подстроку.

Ответ 6

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

Выход: A = B & E = F