C # заменить строку, содержащую \ "to" - PullRequest
0 голосов
/ 01 июня 2018

У меня есть строка, как показано ниже.

"alphabet": "dtSearch Alphabet File\n\n[Letters] // Original letter, lower case, upper case, unaccented\n""ReserveChar": "{\"Datasource\":[{\"text\":\"!\",\"value\":\"!\"},{\"text\":\"^\",\"value\":\"^\"},{\"text\":\"|\",\"value\":\"|\"},{\"text\":\"$\",\"value\":\"$\"}],\"macro\":\"@\",\"fuzzychar\":\"%\",\"stemming\":\"~\",\"phonic\":\"#\",\"shynonyms\":\"&\",\"wightchar\":\":\",\"matchdigitchar\":\"=\"}

Я хочу заменить ее, как показано ниже.

"alphabet": "dtSearch Alphabet File\n\n[Letters] // Original letter, lower case, upper case, unaccented\n","ReserveChar": "{"Datasource":[{"text":"!","value":"!"},{"text":"^","value":"^"}],"macro":"@","fuzzychar":"%"}

Обратите внимание, что в строке два раздела.

  • Алфавит (содержит \ n, что важно для пользовательского интерфейса, поэтому я не должен вносить в него изменения)
  • Элемент списка (содержит источник данных и в настоящее время содержит \ "который необходимо заменить на")

Примечание. Я выполняю миграцию данных, поэтому не могу решить эту проблему со стороны кода (JavaScript).Я должен вставить правильные данные в базу данных.поэтому код будет работать как есть.

По сути, я хочу заменить \ (обратную косую черту) в ReserveChar, но не из алфавита.Поэтому я хочу patter, который заменяет \ "на".

Ниже приведено то, что я сделал до сих пор.

(new Regex(@"\\")).Replace(newstring, "");

Вышеупомянутый код работает правильно, но также заменяет \ из алфавита.

Какие изменения я должен сделать?

Пожалуйста, предложите решение, кроме регулярного выражения, если оно может решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...