Как осуществить выборку из текста? [дубликат]

145
12 января 2019, 06:20

На данный вопрос уже ответили:

  • Обращение к элементам массива из словарей. Десериализация Json строки 1 ответ
  • Как распарсить объект такого вида на c#? 1 ответ

В переменной имеется текст, например:

string a = "{"anchor":"aaabbbccc==","members":[{"userId":"111"},{"userId":"2222"},{"userId":"333"},{"userId":"444"}],"has_more":true}

(сегментов типа {"userId":"XXX"} может быть и больше) Как сделать так, чтобы на выходе мы получили то что ниже?:

111 222 333 444

(либо в текстовом файле, либо в Text.Box) У меня была идея сделать парсинг текста, ведь нужные мне места всегда находятся между {"userId":" и "} То есть можно сделать цикл, который будет пробегать через текст этой переменной и выбирать всё что между {"userId":" и "}, помещая выражения в новые строки Но как это сделать? Есть идейки? Спасибо заранее

Answer 1

Можно сделать с помощью регулярки:

string a = "{\"anchor\":\"aaabbbccc==\",\"members\":[{\"userId\":\"111\"},{\"userId\":\"2222\"},{\"userId\":\"333\"},{\"userId\":\"444\"}],\"has_more\":true}";
var results = Regex.Matches(a, "\"userId\":\"([0-9]+)\"").Cast<Match>().Select(x => x.Groups[1]); // массив со значениями
READ ALSO
Raycast, ссылка на последний объект

Raycast, ссылка на последний объект

Светим лучом на объектВопрос: как получить ссылку на этот объект, когда луч перестает на него светить?

167
C# Oxyplot. Вылезает лог при зуме

C# Oxyplot. Вылезает лог при зуме

Как исправить лог при зуме?

188
Найти protected метод после наследования в c#

Найти protected метод после наследования в c#

Есть класс ApplicationClass с методом CustomMethod:

171