
Originariamente inviata da
Ansharja
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:
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
*/
}
Magari è meno immediato, ma se la struttura può variare molto questa soluzione è più sicura a mio modo di vedere.
"\\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.