#[allow(dead_code)]
pub fn first_word(s: &str) -> &str {
s.split(|c: char| !(c.is_alphanumeric()))
.collect::<Vec<&str>>()
.first()
.unwrap()
}
#[cfg(test)]
mod test_first_word {
use super::*;
#[test]
fn test() {
assert_eq!(first_word("alfa"), "alfa");
assert_eq!(first_word("alfa bravo"), "alfa");
assert_eq!(first_word("alfa bravo charlie"), "alfa");
}
}
#[allow(dead_code)]
pub fn last_word(s: &str) -> &str {
s.rsplit(|c: char| !(c.is_alphanumeric()))
.collect::<Vec<&str>>()
.first()
.unwrap()
}
#[cfg(test)]
mod test_last_word {
use super::*;
#[test]
fn test_last_word() {
assert_eq!(last_word("alfa"), "alfa");
assert_eq!(last_word("alfa bravo"), "bravo");
assert_eq!(last_word("alfa bravo charlie"), "charlie");
}
}