Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > выбрать из текста в файле только целые числа |
Автор: Rezzonans 14.7.2010, 09:21 | ||||
Вот, вообщем, такие задания нынче дают при устройстве на работу.. Проблема заключается в том, что никак не получается составить регулярное выражение для того, что б из файла считать все целые цифры. Максимум что получилось - это вот:
Но это не вариант, ибо в результате проскакивает число +3.14. К слову сказать, плюс тож убрать не получается. Не бейте ногами, подскажите пожалуйста регулярку, я в них не силен :( |
Автор: ksnk 14.7.2010, 09:56 |
Rezzonans, разбить файл по пробельным символам и все preg_split('/\s+/', ...). Все элементы должны быть числами. для проверки, что это целое число - используй ctype_digit. для остального можно floatval использовать. Если не число - будет 0. на сумму не влияет. Проверить правильно получилось или нет - тоже довольно просто floatval($s)==$s - если истина, значит чисто конкретно число... регулярка здоровая получится, чтобы корректно проверить на число. Числа бывают с + - , с точкой, мантисой и отрицательной-положительной мантисой. Но можно предложить грязненькую-простенькую /^[0-9Е\.+-]+$/ для фильтра значений в этом файле достаточно. А floatval покажет что там неправильно на самом деле. Уникальные значения делаются array_unique остальные задачи пока не решал? ![]() |
Автор: Rezzonans 16.7.2010, 12:29 |
Ну вот, вообщем, криво-косо, но сделал. Может кому пригодиться. ksnk, Вам спасибо за помощь, array_unique очень пригодилась. |