У меня есть строка, как показано ниже.
"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, "");
Вышеупомянутый код работает правильно, но также заменяет \ из алфавита.
Какие изменения я должен сделать?
Пожалуйста, предложите решение, кроме регулярного выражения, если оно может решить проблему.