piątek, 31 lipca 2009

Java, wyrażenia regularne i "\"

Mamy ciąg znaków, żeby daleko nie szukać NAZWADOMENY\uzytkownik. Chcemy podzielić go względem "\". Jeżeli się wie jak to jest w miarę prosto :)
Dlaczego aż cztery "\"?
Jak pamiętamy (lub sprawdzimy w Java API) split przyjmuje jako parametr wyrażenie regularne. W wyrażeniach regularnych "\" jest znakiem "specjalnym". Dlatego:
  • \ - w Javie jest to escape character (tłumaczenia na polski nie pasują mi...)
  • \\ - mamy już naszego backslasha w wyrażeniu regularnym, ale w nim jest on właśnie escape character ;) dlatego potrzebujemy jeszcze jednego backslasha
  • \\\\ - w wyrażeniu regularnym będzie to \\ a więc \ :)
Uf...

Brak komentarzy: