aboutsummaryrefslogtreecommitdiff
path: root/src/splitter.rs
blob: fbb2b6a3ed4ba709567b1d5873bbffc968f3e0a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::vec::Vec;

/// Splits a line into its words used to create a
/// dictionary and search arguments.
pub fn split_to_words(data : String) -> Vec<String> {
    let mut v : Vec<String> = data
        .to_lowercase()
        .split_whitespace()
        .map(str::to_string).collect();

    for word in v.iter_mut() {
        word.retain(|c| !r#"{}[]#(),".;:?!'%|0123456789/\^"#.contains(c))
    }

    v.retain(|str| !str.is_empty());

    v
}