![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 27.11.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pytanie. Jak najlepiej przeprowadzić dodawanie w stringu? Np mam zmienna z taką zawartością Ania kupowała 5+2 bułek. Jak to zamienić na Ania kupowała 6 bułek. Tak sobie myślałem o sscanf, ale pomyślałem że zapytam może ktoś wpadnie na lepszy pomysł.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Ania kupowała 5+2 bułek. Jak to zamienić na Ania kupowała 6 bułek Złodziej. Czemu chcesz ani ukraść bułkę? Głodny jesteś? ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
W tym przypadku idealnie Twój problem rozwiążą wyrażenia regularne (preg_match). Możesz nawet sprawdzać jaki znak jest pomiędzy liczbami aby wykonać odpowiednie działanie.
Ten post edytował Uriziel01 27.01.2012, 07:14:35 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 27.11.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Złodziej. Czemu chcesz ani ukraść bułkę? Głodny jesteś? ![]() Oh, przepraszam. Byłem głodny i śpiący. ![]() W tym przypadku idealnie Twój problem rozwiążą wyrażenia regularne (preg_match). Możesz nawet sprawdzać jaki znak jest pomiędzy liczbami aby wykonać odpowiednie działanie. Dziękuje ślicznie. Zorientuje się jak tego używać, bo nigdy nie próbowałem. Pozdrawiam! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Tzn. oczywiście dzięki preg_match znajdziesz te liczby oraz je do siebie dodasz, ale aby natomiast podmienić je w tym stringu na nową wartość musisz użyć preg_replace. Nie wiem czemu w pierwszym poście o tym nie wspomniałem.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 27.11.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki kolego! Ale jak mam wyszukać ciąg liczba+liczba? w sscanf wyglądałoby to tak %d+%d. I jeśli będzie parę tych dodawań, to użyje chyba preg_match_all ().
Tylko problem do czego do zapisywać? Do tablicy? Trochę brak mi pomysłu na tę funkcje. ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował pyro 27.01.2012, 14:16:03 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 27.11.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wszystko działa, ładnie pięknie na integerach. Porobiłem na petlach, zliczanie, etc. A ma ktoś pomysł na liczby float?
Nie wiem dlaczego, ale jeśli zamienię d na f, w ogóle nie wykrywa liczb float. ;x To wyżej śmiga, a to już nie: Kod preg_match('|(\f+)\+(\f+)|', $text, $matches);
Ten post edytował krzysiu99995 27.01.2012, 16:59:37 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
\d nie oznacza tutaj int'a a jedynie cyfry od 0 do 9, po prostu możesz go zastąpić poprzez [0-9\.]
Ten post edytował Uriziel01 27.01.2012, 16:59:45 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 27.11.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie. Co język to inaczej.
Dziękuje kolegom programistom. ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:48 |