MooTools 1.2 - ciągi znaków cz. 1
13 lipca, 2008
Operacje na ciągach znaków to dość często spotykane zadania, zwłaszcza podczas walidacji danych. W MooTools zaimplementowano kilka ciekawych rozszerzeń dla natywnego obiektu String, które z pewnością ułatwią wiele rzeczy.
W pierwszej części kursu poświęconej obiektowi String zajmiemy się metodami zmieniającymi wygląd ciągu znaków (capitalize, hyphenate oraz camelCase), czyszczącymi tekst ze zbędnych białych znaków (trim i clean) oraz badającymi zawartość danego ciągu (test i contains).
Myślniki, wielbłądy i duże litery
Obiekt String udostępnia nam w MooTools trzy metody do zmiany zapisu ciągu znaków - camelCase, hyphenate i capitalize.
Metoda camelCase zamienia ciągi postaci:
"Tekst-testowy-dla-metody-camelCase"w tekst postaci:
"TekstTestowyDlaMetodyCamelCase"Aby uzyskać takie rezultaty należy zapisać:
"Tekst-testowy-dla-metody-camelCase".camelCase();
Tekst jaki zostanie zwrócony przez tą metodę można też zamienić na początkowy poprzez zapis:
"TekstTestowyDlaMetodyCamelCase".hyphenate();
Jak więc widzimy metody camelCase i hyphenate są wzajemnie powiązane...
Metoda capitalize powoduje zamianę pierwszych liter wyrazów na duże litery:
"kolejny testowy tekst".capitalize();
Powyższy kod zwróci nam tekst postaci:
"Kolejny Testowy Tekst"Porządki w tekście
Jeżeli mamy dany tekst w którym chcemy się pozbyć wszystkich białych znaków znajdujących się na początku i na końcu ciągu znaków, to najłatwiej skorzystać z metody trim:
" Tekst testowy ".trim();
Powyższy kod zwróci nam:
"Tekst testowy"Metoda trim jest także wykorzystywana w metodzie clean. Dzięki tej metodzie pozbędziemy się wszystkich zbędnych białych znaków tzn. wszystkich białych znaków na początku i końcu tekstu oraz wszystkich nadmiarowych białych znaków w środku tekst (jeżeli mamy dwie lub więcej spacji pomiędzy znakami to zostanie tylko jedna):
"Test usuwania białych znaków \n ".clean();
zwróci nam:
"Test usuwania białych znaków"Pora na wyrażenia regularne
Wiemy jak "oczyścić" nasz tekst z białych znaków, a gdzie użyć wyrażeń regularnych ? Chociażby w metodzie test, która sprawdza podany ciąg znaków ze wzorcem podanym jako argument (oczywiście w postaci wyrażenia regularnego).
Jako drugi argument metoda test przyjmuje flagi wyrażenia regularnego takie jak i czy m (niezorientowanych w temacie odsyłam do lektury na stronach MDC):
"Kolejny test".test("test");
Powyższy kod zwróci nam wartość logiczną true, ponieważ dany tekst zgadza się z podanym wzorcem. Natomiast w sytuacji:
"Kolejny test".test("TEst");
Otrzymamy wartość logiczną false chyba, że ustawimy flagę ignorowania wielkości znaków:
"Kolejny test".test("TEst","i");
W tym wypadku zwrócona zostanie nam wartość true.
Metoda test jest idealna do walidacji formularzy - pola takie jak adres e-mail, adres strony WWW to typowe miejsca gdzie podczas walidacji korzysta się z wyrażeń regularnych.
Ostatnia z omawianych metod to metoda contains, która sprawdza czy w określonym ciągu znaków gdzie poszczególne elementy są oddzielone określonym separatorem występuje dany element.
Metoda ta pobiera jako argumenty szukany element i separator:
"a b c d e f g h".contains("i"," ");
Powyższy kod zwróci nam wartość false bo literki i nie ma w naszym ciągu znaków rozdzielanych spacjami, ale już kod:
"ab|cd|ef|gh".contains("gh","|");
Zwróci nam wartość true, bo element gh w tym ciągu rozdzielonym znakami "|" występuje.
Metoda ta jest przydatna zwłaszcza w wypadku miłośników funkcji explode i implode z PHP.
Podsumowanie
Poznaliśmy nowe możliwości obiektu String jakie oferuje nam MooTools 1.2. W koeljnej części poświęconej nowym możliwościom tego obiektu, zajmiemy się głównie metodami konwertującymi udostępnianymi przez framework.
Komentarze do wpisu "MooTools 1.2 - ciągi znaków cz. 1":
Jeszcze nie ma żadnych komentarzy. Twój może być pierwszy.
Dodaj komentarz: