![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Kolejne 400 linijek tego wieczoru już za mną gdy natknąłem się na pewien kłopot. Mam ~200MB plik tekstowy z różnymi danymi, muszę wypisać z niego tylko 2 typy danych. Jednym z nich są wszystkie 20 lub 21 znakowe ciągi pisane wielkimi literami (tzw. supercased). Mogę to załatwić regexem albo na piechotę za pomocą for`a jednakże wydajność będzie koszmarna. O ile doszukałem się w manualu przeróżnych funkcji do konwersji tekstu na różne wielkości liter o tyle nie mogę znaleźć niczego co powiem mi czy tekst jest jak po wyjściu z strupper`a. Z góry dzięki za pomoc. -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jak masz krótki ciąg, to wystarczy:
Ale to ma tę wadę, że zżera trochę pamięci. Cytat Mogę to załatwić regexem albo na piechotę za pomocą for`a jednakże wydajność będzie koszmarna. Dlaczego? Przecież złożoność pamięciowa będzie minimalna (z tego powodu, że za jednym razem obrabiasz tylko jeden znak), a czasowa też będzie krótko:
sory za brak wcięć, ale nie chce mi się teraz odpalać notepada ![]() Warunek sprawdzający cyfry sobie sam możesz zrobić. Podejrzewam, że kod byłby jeszcze szybszy, gdybyś zamiast strtoupper użył sprawdzania zakresu ASCII. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
To było banalne
![]() Faktycznie pierwsza sztuczka zdala egzamin bo linie są krótkie. Dzięki za pomoc. -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:25 |