Wpis z mikrobloga

Zna się ktoś na wyrażeniach regularnych w Javie? Muszę „podzielić” String na obiekty składające się z klucza, operatora i wartości np category:sprzedaż. Category to klucz, : operator a sprzedaż wartość. Aby to uzyskać korzystam z Pattern pattern = Pattern.compile("(\w+?)(:|<|>)(\w+?),"); działa to spoko o ile nie wykorzystuje w kluczu lub wartości polskich znaków, myślników lub spacji, niestety tak się składa ze potrzebuje z nich korzystać, jak to osiągnąć? Z góry dziękuje za każdą odpowiedz. #programowanie #java #informatyka #it #pomocy #pytanie
  • 4
@atm-Pa: zamiast \w musisz dodać to co Cię interesuje w nawiasach kwadratowych. Np.

[\w\s\-]

Tu masz litery (\w), biale znaki \s i minus. Ewentualnie jezeli masz tam delimiter (dwukropek na przyklad) to zrezygnuj z wyrażenia regularnego bo to czesto jak w tym dowcipie:

Rozwiazanie problemu wyrażeniem regularnym konczy sie tak ze masz dwa problemy :)
via Wykop Mobilny (Android)
  • 0
@atm-Pa: ewentualnie możesz najpierw matchować operator (jeśli robi różnicę jak wygląda) a potem robić split regexem od operatora i dostaniesz tablicę gdzie pierwszy element to klucz a drugi to wartość