Member 14068594 Ответов: 2

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


У меня есть строки в списке данных, как это:

"название=Карта&амп;значение=%2а%2а%2а%2а%2а%2а%2а%2а%2а%2а%2а%2a0015",
"name=MID&value=1000"
"name=Type&value=GOODS_SERVICES"

Поэтому я получаю в качестве списка параметров<string> someList

нужно отформатировать вот так, максимальная длина 50 символов

выровнять по левому краю (пустое пространство) выравнивание по правому краю //так, чтобы поместиться в 50 символов длиной
----------------------------------------------------
имя (пустое место) значение
Карта (пустое пространство) %2а%2а%2а%2а%2а%2а%2а%2а%2а%2а%2а%2a0015
Середина (пустое пространство) 1000
Тип (пустое место) GOODS_SERVICES

Что я уже пробовал:

//ничего нет интегрированной среды разработки, как это сделать

F-ES Sitecore

Используйте HttpUtility.ParseQueryString для разбора отдельных значений в коллекцию пар имя\значение (google how to use it if it's not obvious). Как только у вас есть эта коллекция, просто постройте из нее желаемый результат. Обратите внимание, что никто здесь не собирается делать ВСЮ работу за вас.

2 Ответов

Рейтинг:
2

ZurdoDev

Вы можете использовать PadLeft и PadRight строки , Строка.Метод Навесного Лева (Система) | Microsoft Docs[^]


Member 14068594

Можете ли вы написать мне пример кода?

ZurdoDev

Некоторые из них есть в Примере, на который я ссылался.

BillWoodruff

+5

Рейтинг:
1

BillWoodruff

изучите этот пример:

поместите этот код в метод; поставьте точку останова на указанной строке; один шаг через код (используйте F11); наблюдайте за создаваемыми значениями.

string example = @"name=Card&value=%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a%2a0015";

string[] splitter = new string[] {"name=", "&value="};

StringBuilder sb = new StringBuilder();

// put a breakpoint here, then single step
string[] splitline = example.Split(splitter, StringSplitOptions.RemoveEmptyEntries);

sb.AppendLine($"{splitline[0]} {splitline[1]}");

string result = sb.ToString();
используйте StringBuilder, чтобы избежать выделения новых строк. изучите веревку.Метод разделения: [^], [^] и класс StringBuilder: [^]


Member 14068594

Хорошо, это нормально, но мне нужно, чтобы Макс с этой строки был 50 (символов)
тогда в результате должно быть отформатировано так (карта выровнена слева, затем другое значение выровнено справа) в максимальном диапазоне строк 50 символов.

Карта \ \ \ \ \ \ %2a%2a%2a%2a%2a % 2a%2a%2a%2a%2a % 2a0015

BillWoodruff

Поэтому изучите ссылку, которую дал вам Зурдодев, и подкладывайте строки по мере необходимости. Мы здесь, чтобы помочь вам учиться, а не писать код для вас.

Мне потребовалась минута, чтобы изменить приведенный выше код, чтобы создать 50-символьные строки с подкладкой.