PDA

View Full Version : [JAVA] (difficile) Regex e funzione su stringa.


dupa
16-01-2008, 09:59
Ho una domanda un po' complessa.

Ho una stringa. sulla quale devo applicare una funzione.
Il problema è che la funzione non la devo applicare ad alcuni pezzi della stringa che identifico tramite regex.

Ad esempio ho:

ciao Matteo, come va? Lucia sta bene?


voglio applicare una funzione String s = funzione(String string) a questa stringa tranne che ad alcuni suoi pezzi che identifico tramite N espressioni regolari.. ad esempio ho due espressioni regolari "Matteo" e "Lucia".

Se la funzione fosse in modo banale l'uppercase, mi troverei:


CIAO Matteo, COME VA? Lucia STA BENE?


Mi trovo con molte regex (non banali) che devo cercare nella stringa e che devo escludere dall'applicazione della funzione.

Avete idee su soluzioni eleganti di questo problema?

71104
16-01-2008, 11:04
tramite String.split la dividi in tot pezzi e sai che tra un pezzo e l'altro c'è una di quelle sequenze escluse; a quel punto applichi la funzione su ciascuno dei pezzi e poi alla fine li dovresti riattaccare reinserendo in mezzo le sequenze escluse (quest'ultima cosa mi sa che potrebbe essere un po' un problema in quanto bisognerebbe determinare tali sequenze dalla stringa originale).

dupa
16-01-2008, 11:09
tramite String.split la dividi in tot pezzi e sai che tra un pezzo e l'altro c'è una di quelle sequenze escluse; a quel punto applichi la funzione su ciascuno dei pezzi e poi alla fine li dovresti riattaccare reinserendo in mezzo le sequenze escluse (quest'ultima cosa mi sa che potrebbe essere un po' un problema in quanto bisognerebbe determinare tali sequenze dalla stringa originale).

sì anche io avevo pensato a qualcosa di simile.. ma il riattaccare alla fine il tutto nel modo corretto mi preoccupa un po' :|