* Очень специфическая проблема * удаления пробелов из нескольких строк одной строки в C #. Trim () не работает

#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('"', '');