una considerazione: da dove prendi la stringa? Tu supponi che la suddivisione venga fatta per /, - oppure blank, ma sei in grado di fissare un formato standard (es separatore blank) e lavorare su quello?
In tal caso la stesura dell'algoritmo è molto più semplice.
Poi in generale se è un numero di telefono, puoi
+39 0123 4567
e fin qui ti trovi a lavorare concodice:StringBuffer buffer = new StringBuffer(""); if (str.startsWith("+39")){ str = str.substring(3).trim(); buffer.append("00"); }
0123 4567
e hai in buffer già 00
poi fai uno split per blank
e in buffer hai alla finecodice:String tmp[] = str.split(" "); if (tmp != null && tmp.length > 0){ for (String tmps : tmp) buffer.append(tmps); }
0001234567
poi non so che senso abbia un numero di telefono convertito in intero (al max long), in genere lo si lascia in formato stringa visto che in questo caso ti perderesti lo 0 iniziale del numero

Rispondi quotando