Skip to main content

example_09_month_name_fuzzy/
example_09_month_name_fuzzy.rs

1//! Example 9: Fuzzy Month Name Matching (Misspellings)
2//! Run with: `cargo run --example example_09_month_name_fuzzy`
3
4use partial_date::extract::extract;
5use partial_date::models::*;
6
7fn main() {
8    println!("Example 9: Fuzzy Month Name Matching");
9    println!("===================================\n");
10
11    println!("Input: '31 Decmber 2024' (notice typo: 'Decmber')");
12    println!("Config: Default (uses Levenshtein distance)\n");
13
14    let input = Input {
15        utterance: "31 Decmber 2024".to_string(),
16        config: None,
17    };
18
19    let result = extract(input);
20
21    println!("Results:");
22    println!("  Day:        {:?}", result.day.value);
23    println!("  Month:      {:?}", result.month.number);
24    println!("  Month Name: {:?}", result.month.name);
25    println!("  Year:       {:?}", result.year.value);
26    println!("\nExplanation:");
27    println!("  Despite the typo 'Decmber', the library correctly");
28    println!("  identifies it as December using Levenshtein distance.");
29    println!("  This fuzzy matching helps with OCR errors and typos!");
30}