#c# #string #format #whitespace
#c# #строка #формат #пробелы
Вопрос:
Я работаю с C #. У меня была строка, которая была в формате:
myString = ""Person:Name","Address:City","University:District""
Я знаю, что кавычки внутри основной строковой кавычки в C # недопустимы и что вам нужно экранировать кавычки. Но эта строка, которая у меня есть здесь, является результатом объединения нескольких строк, чтобы придать ей подобный вид для некоторой внутренней обработки.Это был список строк формата [A:B, C: D, E: F], который был преобразован в формат JSON, а затем снова обратно в строку. Я уже снял внешние скобки на случай, если вам интересно. Итак, прежде чем двигаться дальше, я хотел бы уточнить, что это законная строка и кавычки внутри строки не являются проблемой в данном конкретном сценарии.
Я хочу, чтобы мой окончательный вывод отображался в нескольких строках следующим образом:
Person:Name
Address:City
University:District
Я попытался достичь этого, выполнив следующее:
myString = myString.Replace(',', 'n'); //replaced comma with newline
myString = myString.Replace('"', ' '); //replaced double quote with a space
Теперь они у меня в отдельных строках, однако моя проблема сейчас в том, что я, похоже, не могу избавиться от пробела. Я хочу, чтобы все пробелы были удалены. т. е. всего 6 ниже. Оказывается, Trim () мне не помогает. Есть ли способ решить это? Вот где я сейчас нахожусь. Я открыт для того, чтобы попробовать любую новую идею, если мой способ неверен. Если вас смущает способ отображения строки, вы можете спросить меня.
(space)Person:Name(space)
(space)Address:City(space)
(space)University:District(space)
Комментарии:
1. @maxbeaudoin Это не компилируется, вы не можете использовать пустой символьный литерал
2. Было бы намного проще, если бы вы просто прочитали исходный JSON в a
Dictionary<string, string>
,foreach
отредактировали его и напечатали построчно3. @CamiloTerevinto использовать версию string
"".Replace("", "")
4. Используйте анализатор JSON и прекратите попытки проанализировать JSON, как если бы это была строка.
5. @maxbeaudoin использование строковой версии помогло мне! Спасибо!
Ответ №1:
Здесь вы заменяете двойные кавычки пробелом.
myString = myString.Replace('"', ' ');
Это должно быть так :
myString = myString.Replace('"', '');