aboutsummaryrefslogtreecommitdiff
path: root/src/splitter.rs
blob: d3a0bdba88acd7ab4f736874430ee12947f755d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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(String::from)
        .collect();

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

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

    v
}