Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyszukiwanie float w stringu
Forum PHP.pl > Forum > PHP
chormi
Witam
Potrzebuję wyszukiwać float/y w stringu. Próbowałem coś takiego:

  1. function find_float_in_string($data)
  2. {
  3. $l = strlen($data);
  4. $p = [][2];
  5. for($i=0;$i<$l;$i++)
  6. {
  7. if($data[$i+1] == '.' || $data[$i+1] == ',')
  8. {
  9. $p[][0] = $i+1;
  10. }
  11. }
  12. return ($p);
  13. }

np. Chciałbym aby funkcja zwracała tablicę

[][0] Gdzie float się zaczyna
[][1] Gdzie float się kończy

Teraz chciałbym np. w momencie gdy znajdzie kropkę lub przecinek - mój string będzie zawierał te znaki tylko i wyłączanie jeżeli wystąpi w nim liczba float.Np:

adjhfog1.46jgthgfuy2,66GHzjqrtghyqs3.2hjhqnbj
nospor
Tutaj jak nic najbardziej skuteczne będzie wyrażenie regularne
chormi
Że ja głupi nie pomyślałem wstydnis.gif

Niestety, niezbyt ogarniam wyraźenia regularne. No może jakby to był jeden float w stringu, ale jak skonstruować wzorzec dla nieokreślonej liczby wystąpień float w stringu?
Noidea
preg_match_all + wyrażenie jakbyś chciał wyciągnąć 1 float
Crozin
Jak rozumiem chodzi tylko o liczby zapisane w formacie dziesiętnym? W takim razie zrób sobie wyrażenie, które będzie wyszukiwać następujących elementów (jeden po drugim):

1. Minus (może wystąpić)
2. Co najmniej jedna cyfra (musi wystąpić)
3. Kropka i co najmniej jedna cyfra (może wystąpić)

Teraz szybki rzut okiem na manual (PCRE) i po sprawie...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.