Khớp ký tự
Đôi khi dữ liệu bán hàng có lỗi gõ hoặc lỗi định dạng có thể làm hỏng phân tích của bạn. Trước khi tính tổng doanh thu, bạn cần xác minh rằng tất cả số lượng bán chỉ chứa ký tự số hợp lệ và dấu thập phân. Bạn đã trích xuất một số lượng bán (tính bằng triệu đơn vị) từ bộ dữ liệu trò chơi điện tử.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu bằng Java
Hướng dẫn bài tập
- Kiểm tra xem
quantitycó chứa chữ số nào (0 đến 9) không. - Tìm dấu phân cách thập phân trong
quantity. - Phát hiện mọi ký tự chữ cái trong
quantity(chữ thường hoặc chữ hoa).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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);
}
}
}