Ciao io ho una stringa formata da un formato che si ripete. Ovvero

<Stringa>;<numero con virgola>;<numero con virgola>;<numero intero>
Questo formato si ripete N volte separato da un Pipe.

Quindi il formato viene fuori
<Stringa>;<numero con virgola>;<numero con virgola>;<numero intero>|<Stringa>;<numero con virgola>;<numero con virgola>;<numero intero>|<Stringa>;<numero con virgola>;<numero con virgola>;<numero intero>|<Stringa>;<numero con virgola>;<numero con virgola>;<numero intero>

Quello che mi serve è, per ogni occorrenza, estrarre i 4 dati separati così che poi possa usarli.


E il codice l'ho fatto così
codice:
String content = <stringa da analizzare>;
Pattern pattern = Pattern.compile("([a-zA-Z]+);(\\d+\\.\\d+);(\\d+\\.\\d+);(\\d+)");
Matcher matcher = pattern.matcher(content);

while (matcher.find())
{
	String occorrenza = matcher.group();
	Matcher match2 = pattern.matcher(occorrenza)
	if (match2.matches())
	{
		String campo1 = match2.group(0);
		double campo2 = Double.parseDouble(match2.group(1));
		double campo3 = Double.parseDouble(match2.group(2));
		int campo4 = Integer.parseInt(match2.group(3));
		.... altro codice per gestire i campi trovati....
	}
}
Ho risolto da solo. C'era un problema con le parentesi per delimitare i gruppi