Correspondance de caractères
Vos données de ventes contiennent parfois des fautes de frappe ou des erreurs de formatage qui pourraient nuire à votre analyse. Avant de calculer les revenus totaux, vous devez vérifier que toutes les quantités vendues ne contiennent que des chiffres valides et des points décimaux. Vous avez extrait certaines quantités de ventes (en millions d'unités) à partir de l'ensemble de données sur les jeux vidéo.
Cette activité fait partie du cours
Nettoyer des données en Java
Instructions de l’exercice
- Vérifiez si
quantitycontient des chiffres (0 à 9). - Repérez le séparateur décimal dans
quantity. - Détectez tout caractère alphabétique dans
quantity(minuscule ou majuscule).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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);
}
}
}