powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Извлечь элемент строки и записать в переменную
16 сообщений из 16, страница 1 из 1
Извлечь элемент строки и записать в переменную
    #39283276
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

Имеется строка:
$a = 'ID: 123, GUID: 234, NAME: TEST, LANG: RU';

Мне нужно извлечь номер GUID из строки и записать его в переменную, например, в $b, чтобы вышло "$b = 234". Позиция GUID может меняться, так что для поиска необходимо использовать regex "(GUID: [0-9]+)". Как это всё сделать "по-нормальному", лаконично, не пихая в массив, я не знаю. Подскажите, если это возможно :)
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283290
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать strstr() + substr() чтобы оставить на выходе нужный фрагмент строки.

Можно preg_replace() убрать из строки всё ненужное, а нужное оставить.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283302
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему не придумали нормальное решение для такой примитивной задачи? Эх. Придется делать strstr() + substr(). Спасибо за ответ.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283314
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10,
почему бы не использовать explode ?
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283320
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фу, мерзость.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283325
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
$a = 'ID: 123, GUID: 234, NAME: TEST, LANG: RU';
($b) = $a =~ /GUID: ([0-9]+)/;
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283339
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
volodin661,

Parse error: syntax error, unexpected '=' in D:\Web\www\test.php on line 2

а вообще, интересно
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283361
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10а вообще, интересно

ну ещё бы не интересно,
но это Perl
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283384
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10Почему не придумали нормальное решение для такой примитивной задачи? Эх. Придется делать strstr() + substr(). Спасибо за ответ.Ну не знаю, preg_replace вполне решает задачу.
Код: php
1.
$b = preg_replace('/.*GUID:\s+(\d+)(,.*)?/', '\1', $a);


Не за что.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283443
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Как раз то, что я искал. Спасибо.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283505
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle.Ну не знаю, preg_replace вполне решает задачу.
Код: php
1.
$b = preg_replace('/.*GUID:\s+(\d+)(,.*)?/', '\1', $a);


[/quot]

vkle,
a \K php разве не поддерживает ?

чтобы вот так:
Код: php
1.
$guid = preg_replace('GUID:\s+\K(\d+)/', '\1', $a);
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283525
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661,

Поддерживает, но я не соображу, как его тут использовать.

Вроде, и более простой вариант, без "(,.*)?", работает нормально:
Код: php
1.
$b = preg_replace('/.*GUID:\s+(\d+).*/', '\1', $a);
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283625
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем preg_match то не нравится? Ну будет там не 1 а 2 строчки. Подозреваю работать будет быстрее немножко. Хотя не факт конечно.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283692
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettА чем preg_match то не нравится?
Дак ТС без массива хочет обойтись
HettПодозреваю работать будет быстрее немножко.Думается, вариант strstr() + substr() наиболее быстрый. Хотя бы, из-за простоты внутреннего алгоритма используемых функций.
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39283697
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уж strpos + strpos + substr
...
Рейтинг: 0 / 0
Извлечь элемент строки и записать в переменную
    #39284343
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тоесть то что GUID это [0-9a-f]{32} никого не смутило?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Извлечь элемент строки и записать в переменную
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]