Włuskanie konkrentych zmiennych z powtarzających się stringów

0

Hej,

Dodaje do mojej aplikacji funkcjonalnosc, która analizujac pewne logi będzie wykonywała okreslone akcje.
Na razie pod lupę idą takie 2 wpisy :

[Apr-22-2018 01:28:36]Elsa Bjergsen has aged-up to Age.TEEN
[Apr-22-2018 18:55:50]>>> Married Fleur Guillou and Hugo Villareal and they now live in the Villareal household

Aktualnie radze sobię operując substringami i tak np dla wpisy Married wyłuskanie 1 osoby wygląda tak :

    private void processMarriedLog(String item, ActionEvent event) {
        String firstPerson = item.substring(item.indexOf(TemplatesAllowed.TEMPLATE_MARRIED)+TemplatesAllowed.TEMPLATE_MARRIED.length(), item.indexOf(" and ")).trim();
        System.out.println("first person is : " +firstPerson+"]");
   }

Ogólnie to działa, ale to rozwiązanie nie za bardzo mi się podoba, zastanawiam się czy można zrobić to jakoś lepiej... ładniej.

Widziałam ze w bibliotece apache comons jest coś takiego jak named variable w string template, ale to działa jakby w drugą stronę. Czyli mogę modyfikowac tego stringra wstawiając w odpowiednie miejsca co tam chcę. A mnie interesuje funkcjonalnośc odwrotna.

0

Rozwiązaniem są wyrażenia regularne :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1