Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyszukiwanie float w stringu
chormi
post 15.09.2010, 11:46:40
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.09.2007

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
nospor
post 15.09.2010, 11:52:42
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tutaj jak nic najbardziej skuteczne będzie wyrażenie regularne


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
chormi
post 15.09.2010, 11:57:15
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.09.2007

Ostrzeżenie: (10%)
X----


Ż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?

Ten post edytował chormi 15.09.2010, 11:57:50
Go to the top of the page
+Quote Post
Noidea
post 15.09.2010, 12:17:49
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

Ostrzeżenie: (0%)
-----


preg_match_all + wyrażenie jakbyś chciał wyciągnąć 1 float


--------------------
Go to the top of the page
+Quote Post
Crozin
post 15.09.2010, 12:28:24
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 06:32