Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 14.10.2019
Сообщений: 42
1

Как найти число в строке на php?

13.06.2022, 12:18. Показов 988. Ответов 12

Author24 — интернет-сервис помощи студентам
Здравствуйте, хотел поинтересоваться как можно вычислить число в строке.


Пример: Маша купила на рынке: №w8871   9776 груш.

мне нужно вывести только число 9776 При этом длина числа 9776 (которое я хочу выводить) каждый раз может меняться, например 217 или 18999 или 10009992.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2022, 12:18
Ответы с готовыми решениями:

Как найти в строке шестнадцатеричное число?
Упакованная строка, содержащая символьное представление шестнадцатеричных чисел. //Все символы...

Как найти максимальное число в строке, работая с текстовым файлом?
Например,в txt есть 2 строки и нужно найти в каждой максимальное число. 132 4125 567534 ...

как найти максимальное число(год) в массиве по каждой строке в таблице (№2)
Имеются сведения по странам : название страны и данные о добыче нефти за каждый год из последних...

Найти число пробелов в строке и заменить их на номер по порядку в исходной строке
Задание: Во введенной пользователем строке найти число пробелов и заменить все пробелы на их номер...

12
Надуваю лягушек
265 / 202 / 87
Регистрация: 01.05.2014
Сообщений: 698
13.06.2022, 12:45 2
PHP
1
2
3
$str = ' Маша купила на рынке: №w8871   9776 груш.';
preg_match('/(?:^|\s)(\d+)/', $str, $tr);
print($tr[1]);
1
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
13.06.2022, 12:47 3
Лучший ответ Сообщение было отмечено gogolik как решение

Решение

TeDdI, ~\d+(?=\h*груш\.)~
0
2 / 2 / 0
Регистрация: 14.10.2019
Сообщений: 42
13.06.2022, 14:20  [ТС] 4
Царь Бабай,

Большое спасибо.


А если в строке есть слово "яблок"

пример Маша купила на рынке: №w8871 9776 яблок.

А мне нужно что бы вычислялась строка, когда Маша покупает только груши

PHP
1
preg_match('/(?:^|\s)(\d+)/', $str, $tr);
сюда апгрейдить (|груш)?
0
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
13.06.2022, 14:46 5
Цитата Сообщение от TeDdI Посмотреть сообщение
нужно что бы вычислялась строка, когда Маша покупает только груши
Я написал вам пример, как это получить.
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
<?php
 
$input = ' Маша купила на рынке: №w8871   9776 груш.';
 
$pattern = '~\d+(?=\h*груш\.)~iu';
 
$output = preg_match($pattern, $input, $matches) ? $matches[0] : '';
 
echo $output;
0
2 / 2 / 0
Регистрация: 14.10.2019
Сообщений: 42
13.06.2022, 15:04  [ТС] 6
Строитель,

PHP
1
$pattern = '~\d+(?=\h*груш\.)~iu';
не совсем рабочий, при проверке кода, ошибка. (возможно я не прав)
0
Надуваю лягушек
265 / 202 / 87
Регистрация: 01.05.2014
Сообщений: 698
13.06.2022, 20:37 7
Если груш - то выводит 9711176 , если яблок, то нет
PHP
1
2
3
$str = ' Маша купила на рынке: №w8871   9711176 груш.';
preg_match('/(?:^|\s)(\d+)(\sгруш)/', $str, $tr);
print($tr[1]);
0
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
13.06.2022, 21:25 8
Цитата Сообщение от TeDdI Посмотреть сообщение
при проверке кода, ошибка
Текст ошибки - "в студию".
Цитата Сообщение от TeDdI Посмотреть сообщение
(возможно я не прав)
Возможно.
0
2 / 2 / 0
Регистрация: 14.10.2019
Сообщений: 42
14.06.2022, 09:59  [ТС] 9
Строитель, Спасибо, Ошибка была из-за версии PHP


(Я делал ниже 6 версии)
0
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
14.06.2022, 15:24 10
Цитата Сообщение от TeDdI Посмотреть сообщение
Я делал ниже 6 версии
Шестой версии PHP никогда не было. Но даже на версии PHP 5.4 код исправно работает.

Не по теме:

Кликните здесь для просмотра всего текста
Не надо выдумывать оправдания своим ошибкам, т.к. это всё легко проверить. А если хочется сказать спасибо, то на форуме есть для этого встроенные инструменты. Пользуйтесь на здоровье.

1
2 / 2 / 0
Регистрация: 14.10.2019
Сообщений: 42
15.06.2022, 09:19  [ТС] 11
Строитель, на 5.3 нет!
0
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
15.06.2022, 22:21 12
Цитата Сообщение от TeDdI Посмотреть сообщение
на 5.3 нет!
Почему же? Наглядно демонстрирую работоспособность именно на 5.3:
См. демо
1
2 / 2 / 0
Регистрация: 14.10.2019
Сообщений: 42
15.06.2022, 23:47  [ТС] 13
Строитель,

В целом я решил проблему, как минимум большое спасибо вам за отклик, и помощь!
1
15.06.2022, 23:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2022, 23:47
Помогаю со студенческими работами здесь

Найти в заданной строке максимальное натуральное четное число, входящее как подстрока
Всем доброго времени суток! Стоит такая задача: Вводится число Х, содержащее в свое записи не...

Найти все числа в строке и вывести каждое число в отдельной строке (ошибка в коде)
Помогите пожалуйста с кодом. Задание такое: Найти все числа в строке, каждое число вывести в...

Найти слово в строке PHP
Добрый день. Подскажите пожалуйста . Дана строка например &quot;Lorem Ipsum is simply dummy text of the...

В каждой строке матрицы найти минимальное число, а затем среди этих чисел найти максимальное
2. Дан массив А . В каждой строке выбирается минимальное число, а затем среди этих чисел выбирается...

Найти в строке число
Как можно найти в строке число из определенного диапазона к примеру от 5 до 200 при этом число...

Найти наибольшее число в строке
Дан набор чисел через пробел, заканчивающиеся точкой. Найти среди них наибольшее и есть ли числа...

Найти в строке число (regex)
Получить номер строки в файле где есть число больше 60 при помощи regex.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru