Ma alla fin fine quello che vuoi fare è solo "estrarre" dalla stringa le parole, in qualunque modo siano esse separate?
Se sì potresti anche cambiare approccio e invece di cercare come spezzarla potresti andare a fare la ricerca del pattern che ti interessa.
Esempio:
Magari è meno immediato, ma se la struttura può variare molto questa soluzione è più sicura a mio modo di vedere.codice:import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main (String [] args) { String test = "<ciao> <mondo> data<e> fine"; Matcher matcher = Pattern.compile ("\\w+").matcher (test); while (matcher.find ()) { String match = matcher.group (); System.out.println ("match:" + match); } } /* Output: match:ciao match:mondo match:data match:e match:fine */ }
"\\w" serve per fare il matching con lettere minuscole, maiuscole, numeri e underscore (equivale a "[A-Za-z0-9_]"), puoi limitare la ricerca a sole lettere ("[A-Za-z]") o a qualsiasi altro pattern.


Rispondi quotando