Трансформация текста

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 789
Благодарностей
1 397
Баллы
113
Приветствую.

Есть текст (ответ в формате json), где встречаются подобные конструкции:
"city":{"id":1,"title":"Москва"}
с разными id и городами естественно.

Хотелось бы их все привести к виду:
"city_id":1, "city_title":"Москва"
с подстановкой соотв. id и городов конечно же

Стандартным методом замены из кубика тут судя по всему не обойтись.
Буду вам оч. благодарен, если подскажите как сделать такую замену на C#.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 647
Баллы
113
как должен выглядеть результат на более объёмном тексте?
 

WebBot

Client
Регистрация
04.04.2015
Сообщения
1 789
Благодарностей
1 397
Баллы
113
допустим вот исходная строка:
{"id":245,"first_name":"Zhenechka","last_name":"Pimenofffffff","sex":2,"bdate":"11.8","city":{"id":1,"title":"Москва"},"country":
{"id":1,"title":"Россия"},"hidden":1},{"id":404,"first_name":"Эдуард","last_name":"Николаев","sex":2,"city":{"id":2,"title":"Санкт-Петербург"},"country":{"id":1,"title":"Россия"}}

а получить хочется вот что
{"id":245,"first_name":"Zhenechka","last_name":"Pimenofffffff","sex":2,"bdate":"11.8","city_id":1,"city_title":"Москва","country":{"id":1,"title":"Россия"},"hidden":1},{"id":404,"first_name":"Эдуард","last_name":"Николаев","sex":2,"city_id":2,"city_title":"Санкт-Петербург","country":{"id":1,"title":"Россия"}}

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

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 647
Баллы
113
Код:
string input = project.Variables["input"].Value;
string pattern = @"""city"":\{""id"":(\d+),""title"":""([^""]+)""\}";
return Regex.Replace(input, pattern, @"""city_id"":$1,""city_title"":""$2""");
в переменной input изначальный текст должен быть. либо смени на свою переменную
 
  • Спасибо
Реакции: WebBot

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)