การจับคู่ตัวอักษร
ข้อมูลยอดขายบางครั้งอาจมีการพิมพ์ผิดหรือรูปแบบที่ไม่ถูกต้อง ซึ่งอาจทำให้การวิเคราะห์เกิดข้อผิดพลาดได้ ก่อนคำนวณรายได้รวม จึงต้องตรวจสอบให้แน่ใจว่าค่าจำนวนการขายทั้งหมดมีเฉพาะตัวเลขและจุดทศนิยมเท่านั้น โดยได้ดึงข้อมูลจำนวนการขาย (หน่วยเป็นล้านหน่วย) มาจากชุดข้อมูลวิดีโอเกมแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลใน 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);
}
}
}