use regex::Regex;
fn split_string<'a>(s: &'a str, delims: &str) -> Vec<&'a str> {
let re = Regex::new(delims).expect("Invalid regex");
re.split(s)
.filter(|t| !t.is_empty())
.collect()
}
fn main() {
let s = "-c, c++.. c#:: -java ,php...python rust";
let delims = r"[ ,.:\-!]+";
let tokens = split_string(s, delims);
for t in tokens {
println!("{}", t);
}
}
/*
run:
c
c++
c#
java
php
python
rust
*/