Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626

Вытянуть значение из строки

10.08.2014, 18:00. Показов 1943. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех.
Есть строка
C#
1
{"acces_token" : "token" ,"expires_in":0,"user_id":id}
Нужно вытянуть значение , в слове token.
Там примерно такое 23sajb32y1uhdjsahdjh38uy4r38897df128fsfs adas.
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.08.2014, 18:00
Ответы с готовыми решениями:

Возможно ли вытянуть значение нужной строки из DataTable
Возможно ли вытянуть значение нужной строки из data table? Например, DataSet ds = getMyDataSet(); DataTable dt =...

Как вытянуть элементы из сложной строки?
Здраствуйте! Подскажите, пожалуйста, как лучше сделать следующую штуку: Читается файл и получается строки lines такого вида: ...

Вытянуть из строки текст между определенными символами
Всем привет, ранее писал на делфи, и вот начал учить c# Столкнулся с такой проблемой. Если мне нужно было вытянуть из строки текст между...

24
40 / 40 / 13
Регистрация: 09.07.2014
Сообщений: 116
10.08.2014, 18:15
C#
1
2
3
4
5
6
7
8
9
10
11
static void Main(string[] args)
        {
            string stroka = @"acces_token : 23sajb32y1uhdjsahdjh38uy4r38897df128fsfsadas ,expires_in:0,user_id:id";
 
            string pattern = @"acces_token : (\d+\w+\S+) ,";
 
            Match m = Regex.Match(stroka, pattern);
 
            Console.WriteLine(m.Groups[1].Value);
            Console.ReadLine();
        }
Ты такую строку имеешь ввиду? Не знаю как в регулярке и строке ставить ковычки, но если ты парсишь, то можно кавычки заменить на точку в регулярном выражении - по крайней мере я так делаю всегда.

Добавлено через 4 минуты
C#
1
string pattern = @"acces_token *: *(\d+\w+\S+) *,"
Еще такой можно написать, хуже не будет. Звездочки в выражении означают, что там могут быть пробелы, то есть они там не обязательны, предыдущая строка просто - идеальная, в том смысле, что ты точно знаешь, что она не будет меняться.
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
10.08.2014, 18:18
zme9,
Если выражение в кавычках то паттерн такой
C#
1
@"""acces_token""[\s:]+""([\d\w]+)"""
1
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:22  [ТС]
Tirenta, ничего не выводит
0
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
10.08.2014, 18:22
Цитата Сообщение от Tirenta Посмотреть сообщение
Не знаю как в регулярке и строке ставить ковычки

Не по теме:

1) кАвычки
2) @"""acces_token""" или "\"acces_token\""

1
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
10.08.2014, 18:23
zme9,
Вы показали бы ту строку которую надо распарсить, ничего не меняя
0
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:26  [ТС]
Вот
Нужно получить всё что после acces_token " : " вот здесь "
Миниатюры
Вытянуть значение из строки  
0
40 / 40 / 13
Регистрация: 09.07.2014
Сообщений: 116
10.08.2014, 18:31
C#
1
2
3
4
5
6
7
8
string stroka = @"""access_token"":""23sajb32y1uhdjsahdjh38uy4r38897df128fsfsadas"",expires_in:0,user_id:id";
 
            string pattern = @"access_token"":""([\w\d\S]+)"",";
 
            Match m = Regex.Match(stroka, pattern);
 
            Console.WriteLine(m.Groups[1].Value);
            Console.ReadLine();
Ну так попробуй
0
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:34  [ТС]
Tirenta, не выводит , просто переводит на новую строку и всё.

Добавлено через 53 секунды
З.Ы может быть я кривой
C#
1
2
3
4
5
6
7
8
9
10
 HttpRequest req = new HttpRequest();
            HttpResponse resp;
            req.Cookies = new CookieDictionary();
            resp = req.Get("https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=****&password=*****");
            Console.WriteLine(resp);
            string res = resp.ToString();
            string pattern = @"access_token"":""([\w\d\S]+)"",";
            Match m = Regex.Match(res, pattern);
            Console.WriteLine(m.Groups[1].Value);
            Console.ReadLine();
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
10.08.2014, 18:34
zme9,
Попробуйте такой вариант
C#
1
2
3
4
string s = @"{""acces_token"" : ""23sajb32y1uhdjsahdjh38uy4r38897df128fsfsadas"" ,""expires_in"":0,""user_id"":id}";
            
            var t = Regex.Match(s, @"""acces_token""[\s:]+""([\d\w]+)""").Groups[1];
            Console.WriteLine(t);
0
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:36  [ТС]
XRoy,
0
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
10.08.2014, 18:40
zme9,
C#
1
2
3
4
5
string s = @"{""acces_token"" : ""23sajb32y1uhdjsahdjh38uy4r38897df128fsfsadas"" ,""expires_in"":0,""user_id"":id}";
            int start = s.IndexOf(":")+1;
            int end = s.IndexOf(",");
            string t = s.Substring(start, end - start).Replace("\"","").Trim();
            Console.WriteLine(t);
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
10.08.2014, 18:45
https://dotnetfiddle.net/UuTOPc
1
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:48  [ТС]
rutelun, вылетает ошибка
Длина не может быть меньше нуля.
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
10.08.2014, 18:49
zme9,
Вы уверены что у вас не пустая строка?
0
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:50  [ТС]
XRoy, на скрине видно же что нет. И я скинул весь код на первой странице.
0
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
10.08.2014, 18:52
zme9, скажите чему у вас равны переменные start и end
0
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
10.08.2014, 18:56

Не по теме:

Петррр, все ждал, когда в этой теме появится JObject. И спасибо за .Net Fiddle! Но все же код удобнее читать на форуме


Можно еще так:
C#
1
2
dynamic obj = JObject.Parse("{\"acces_token\" : \"ad8s432fa37s5d9f\" ,\"expires_in\":0,\"user_id\":0}");
Console.WriteLine(obj.acces_token);
0
94 / 67 / 23
Регистрация: 22.09.2013
Сообщений: 626
10.08.2014, 18:57  [ТС]
rutelun, скопировал ваш код.
Петррр, Error reading JObject from JsonReader.
Походу я косячный . Вот весь код.
C#
1
2
3
4
5
6
7
8
9
10
HttpRequest req = new HttpRequest();
            HttpResponse resp;
            req.Cookies = new CookieDictionary();
            resp = req.Get("https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=**&password=**");
            Console.WriteLine(resp);
            string s = Convert.ToString(resp);
            JObject obj = JObject.Parse(s);
            Console.WriteLine(obj["acces_token"]);
            Console.ReadLine();
        }
0
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
10.08.2014, 19:00
zme9, я имел в виду во время выполнения. Так же проверьте строку s - там может содержаться что-то другое

Добавлено через 44 секунды
zme9, попробуйте так
C#
1
2
3
4
5
6
7
8
9
HttpRequest req = new HttpRequest();
            HttpResponse resp;
            req.Cookies = new CookieDictionary();
            resp = req.Get("https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=**&password=**");
            Console.WriteLine(resp); 
            JObject obj = JObject.Parse(resp);
            Console.WriteLine(obj["acces_token"]);
            Console.ReadLine();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.08.2014, 19:00
Помогаю со студенческими работами здесь

вытянуть значение из БД
Есть таблица Книги, в которой есть Название и Количество При нажатии на кнопку надо по названию из TextBox записать количество в Label. ...

Вытянуть значение из реестра
всем привет. обращаюсь к знающим делфи кодерам. в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\Remote Manipulator System в параметре Options...

Вытянуть значение периодического элемента
1С: 7.7 (7.70.027). Помогите пжт вытянуть значение периодического элемента (Плановая наценка). В конфе есть справочник...

Вытянуть кусок строки
К примеру есть определенная строка text Как можно из этой строки вытянуть кусочек abc? Я слышал о такой вещи как регулярные выражения,...

Вытянуть данные из строки
Есть массив со списком - $arTypeBody = ; $name = MOVANO Platform/Chassis (U9, E9) Нужно проверить переменную $name на наличие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru