@CityzenUNDEAD

Почему не срабатывает регулярное выражение?

День добрый!
Пишу парсер на С# который должен принять и обработать json. В получаемом json очень много встречается символов escape-последовательностей юникода, вроде \\u0420\\u043e\\u0441.
Как я понял, главное заменить 2 слеша на 1, и тогда получится получить нужный текст.
Пробую это делать через регулярные выражения.

string test = "\u0022\\u0420\\u043e\\u0441\\u0441\\u0438\\u044f\u0022";
string check = Regex.Replace(test, @"\\", @"\");

Console.WriteLine(check);

Итог, в консоль все равно выводятся символы юникода. Как можно исправить?
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger
System Engineer
Попробуйте так:
Regex  rx = new Regex( @"\\[uU]([0-9A-F]{4})" );
result = rx.Replace( result, match => ((char) Int32.Parse(match.Value.Substring(2), NumberStyles.HexNumber)).ToString() );

Источник: https://stackoverflow.com/questions/183907/how-do-...
Ответ написан
sotvm
@sotvm
Умный поймёт , а дураку и так всё равно.
думаю дело в кавычках
кавычки " не равны ' или `
возьми в одинарные
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
MegaSistem Сочи
от 80 000 до 150 000 ₽
от 100 000 до 200 000 ₽
ATI.SU Санкт-Петербург
от 160 000 ₽
27 июл. 2021, в 22:00
25000 руб./за проект
27 июл. 2021, в 21:59
1500 руб./за проект
27 июл. 2021, в 21:54
15000 руб./за проект