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ì
Ho risolto da solo. C'era un problema con le parentesi per delimitare i gruppicodice: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.... } }

Rispondi quotando
