pub fn is_prefix(src: &str, prefix: &str) -> bool {
src.len() >= prefix.len() && prefix == &src[..prefix.len()]
}
pub fn is_prefix_nocase(src: &str, prefix: &str) -> bool {
src.len() >= prefix.len() && prefix.to_uppercase() == src[0..prefix.len()].to_uppercase()
}
pub fn contain_nocase(src: &str, substr: &str) -> bool {
src.len() >= substr.len()
&& src
.to_uppercase()
.find(&substr.to_uppercase())
.map_or(false, |_| true)
}