Сопоставление символов
В данных о продажах иногда встречаются опечатки или ошибки форматирования, которые могут нарушить анализ. Прежде чем рассчитывать общую выручку, необходимо убедиться, что все значения количества продаж содержат только допустимые цифровые символы и десятичные разделители. Вы извлекли несколько значений количества продаж (в миллионах единиц) из набора данных о видеоиграх.
Это упражнение является частью курса
Очистка данных на Java
Инструкции к упражнению
- Проверьте, содержит ли
quantityцифры (от 0 до 9). - Найдите десятичный разделитель в
quantity. - Определите наличие буквенных символов в
quantity(строчных или прописных).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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);
}
}
}