fn substring_between_two_substrings(str: &str, suba: &str, subb: &str) -> String {
let pos_a = str.find(suba);
let pos_b = str.rfind(subb);
if pos_a.is_none() {
return String::new();
}
if pos_b.is_none() {
return String::new();
}
let index_end_suba = pos_a.unwrap() + suba.len();
if index_end_suba >= pos_b.unwrap() {
return String::new();
}
str[index_end_suba..pos_b.unwrap()].to_string()
}
fn main() {
let str = "Rust C#:C C++:Java:Python";
println!("{}", substring_between_two_substrings(str, "C#", "Java"));
}
/*
run:
:C C++:
*/