EmpezarEmpieza gratis

Coincidencia de caracteres

Tus datos de ventas a veces contienen erratas o errores de formato que pueden estropear tu análisis. Antes de calcular los ingresos totales, necesitas comprobar que todas las cantidades de ventas contienen solo caracteres numéricos válidos y puntos decimales. Has extraído algunas cantidades de ventas (en millones de unidades) del conjunto de datos de videojuegos.

Este ejercicio forma parte del curso

Limpieza de datos en Java

Ver curso

Instrucciones del ejercicio

  • Comprueba si quantity contiene algún dígito (del 0 al 9).
  • Busca el separador decimal en quantity.
  • Detecta cualquier carácter alfabético en quantity (minúscula o mayúscula).

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

public class PatternValidation {
    public static void main(String[] args) {
        List quantities = Arrays.asList("41.49", "29.08", "15.85", "12.5x");

        for (String quantity : quantities) {
            // Check if quantity contains any digits
            boolean hasDigits = ____.____('0', '9').matchesAnyOf(quantity);
            // Look for decimal separator in quantity
            boolean hasDecimal = CharMatcher.is('.').____(quantity);
            // Detect any alphabetic characters in quantity
            boolean hasInvalidChars = CharMatcher.inRange('____', '____')
                    .or(CharMatcher.inRange('____', '____')).matchesAnyOf(quantity);

            boolean isValid = hasDigits && hasDecimal && !hasInvalidChars;
            System.out.println(quantity + " has valid characters: " + isValid);
        }
    }
}
Editar y ejecutar código