За последние 24 часа нас посетили 19835 программистов и 1323 робота. Сейчас ищут 829 программистов ...

Как извлечь из строки все цифры

Тема в разделе "Вопросы от блондинок", создана пользователем Hight, 1 окт 2009.

  1. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Всё, мозг сдох. Как извлечь из строки цифры?

    Есть строка: Привет, меня зовут Илья, мой рост 185 см. Надо, чтобы на выходе был массив:

    Array(0=>1, 1=>8, 2=>5)

    Ковыряю сюда: preg_match_all('???', $str, $result);

    Не могу регулярку выдавить из себя. Ламер блин. =(
     
  2. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    я с тебя в шоке, не могу поверить прям, что не шутишь)
    Код (Text):
    1. shock@shock:~$ php -r 'preg_match_all("/\d/", "hasdj12asf87sdf2aj", $m); print_r($m[0]);'
    2. Array
    3. (
    4.     [0] => 1
    5.     [1] => 2
    6.     [2] => 8
    7.     [3] => 7
    8.     [4] => 2
    9. )
     
  3. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    TheShock
    Смотри, что мой больной мозг сделал =)

    preg_match_all('(0|1|2|3|4|5|6|7|8|9)', $str, $result);

    Это трындец. \d - любая десятичная цифра. Переработал. O_O
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    А, забыл, мне же не все цифры нужны. Цифры 3 и 5 не нужны. =)
     
  5. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Кхм, печально

    Тогда твой вариант более подходит :)
     
  6. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    [12467890]


    гм а тема не в блондинках ?? странно - я с подобным вопросом там оказался :D
     
  7. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    ;)
    Код (Text):
    1. shock@shock:~$ php -r 'preg_match_all("/[0-246-9]/", "1s2s3s4s5s6s7s8s90s", $m); print_r($m[0]);'
    2. Array
    3. (
    4.     [0] => 1
    5.     [1] => 2
    6.     [2] => 4
    7.     [3] => 6
    8.     [4] => 7
    9.     [5] => 8
    10.     [6] => 9
    11.     [7] => 0
    12. )
     
  8. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Перенёс. =)

    А чего вы хотели, я с 3 дня без остановки говнокодю, а сейчас 2 ночи. Закипаю.
     
  9. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Пфф. Остановись.

    Я как-то после выданных за 40 дней 600 рабочих часов сгорел на год. Оно того не стоит.
     
  10. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Упс, прочитал как 3 дня...

    Ну с 3х часов дня еще можно :)
     
  11. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    мдя... тоже бывало... самое сложное - найти в себе силы продолжать ....
     
  12. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    всё, 3:32, домой и в люльку
     
  13. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Hight
    Ну как, живой?
     
  14. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Полный порядок. Новый цикл говнокодинга начался ;)
     
  15. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Hight
    Я представил, как бы парни разделались с человеком, который бы написал подобный вопрос, но если бы он не был соАдмином и имел 1 сообщение :)

    З.ы
    :) Как процесс?
     
  16. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Elkaz
    =) Да ладно, будто ты никогда по пустякам не тормозил?!
     
  17. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Hight
    Ещё как :) Я про то, что новичка бы сожрали, а нас не трогают. Странные они :))))
     
  18. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    я отношусь одинаково ко всем. и новичкам с глупыми вопросами помогаю так же, так что не надо...
     
  19. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Ох уж эти юзеры =)

    [​IMG]
     
  20. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Наоборот налетают сразу. Попробуй спросу фигню какую-нибудь. Вон меня как порвали =)
     
  21. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    а какой вариант подошёл больше всего то?
     
  22. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    На своём остановился с перечислением нужных цифр ;)
     
  23. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    TheShock
    Да я не про тебя :) И не про кого-то конкретно. Так, просто мыслю в слух.
    Hight
    xD Ты не видел как нубов рвут
     
  24. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    расслабься, пятница :)
     
  25. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    мде...
    Код (Text):
    1. function get_cifirki($str){
    2.     $res=array();
    3.     $valid_char=array('1','2','3','4','5','6','7','8','9','0');
    4.  
    5.     for($i=0;$i<strlen($str);$i++){
    6.         if(in_array($str[$i],$valid_char)){
    7.             $res[]=$str[$i];
    8.         }
    9.     }
    10.     return $res;
    11. }
    12.  
    13.     print_r(get_cifirki('Hello, im jopa 182sm'));