tengo una cadena que contiene los valores de moneda mismo formato que 45,890.00
y los valores múltiples separados por comas como 45,890.00,12,345.00,23,765.34,56,908.50
..valores de moneda dividida cadena por comas
Quiero extraer y procesar todos los valores de la moneda, pero no podía entender la expresión regular correcta para esto, esto es lo que he tratado
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);
}
}
la salida de este es:
45,890 //removing the decimals as the reg ex is exclusive
12,345
23,765
56,908.50
¿Podría alguien ayudarme con esto?
¿Quieres decir que quieres recuperar el '.00'? Los valores de entrada deberían usar un mejor delimitador en lugar de usar una coma, lo cual es bastante confuso. – Raptor
Sí ...Quiero los decimales en la salida, no tengo control sobre la cadena de entrada, está siendo alimentado desde una aplicación externa. –
Si no es tarea, quizás tenga más sentido, use 'String.split' para las comas, y' SimpleDecimalFormat' para analizar los valores. Con eso usted puede controlar que es realmente un número, el formato de separador decimal, y luego formatee ese valor decimal de la manera que desee. – helios