ho una stringa che contiene i valori di valuta formattato come 45,890.00
e più valori separati da virgola come 45,890.00,12,345.00,23,765.34,56,908.50
..valuta Valori stringa divisa da una virgola
Voglio estrarre ed elaborare tutti i valori di valuta, ma non riuscivo a capire l'espressione regolare corretta per questo, questo è ciò che ho provato
public static void main(String[] args) {
String currencyValues = "45,890.00,12,345.00,23,765.34,56,908.50";
String regEx = "\\.[0-9]{2}[,]";
String[] results = currencyValues.split(regEx);
//System.out.println(Arrays.toString(results));
for(String res : results) {
System.out.println(res);
}
}
l'uscita di questo è:
45,890 //removing the decimals as the reg ex is exclusive
12,345
23,765
56,908.50
Qualcuno potrebbe aiutarmi per favore con questo?
Vuoi dire che vuoi avere il '.00' indietro? I valori di input dovrebbero utilizzare un delimitatore migliore invece di usare la virgola, il che è piuttosto confuso. – Raptor
Sì ..Voglio i decimali indietro nell'output, non ho il controllo sulla stringa di input, è alimentato da un'applicazione esterna. –
Se non è compito a casa forse ha più senso usare quindi 'String.split' per le virgole e' SimpleDecimalFormat' per analizzare i valori. Con questo puoi controllare che sia davvero un numero, il formato separatore decimale, e quindi formattare quel valore decimale nel modo desiderato. – helios