我想更新類型爲&str
的變量輸入。如何使內部函數返回&str
而不是Cow
?返回&str而不是std :: borrow :: Cow <'_, str>
這可能不是語言問題,但與正則表達式箱。有沒有更簡單的方法?
fn transform_the_expression() {
fn create_formula<'t>(input: &'t str, re: Regex) -> std::borrow::Cow<'t, str> {
let changed_string = re.replace(input, "1");
return changed_string;
}
let mut input = "(a+(b*c))";
use regex::Regex;
let re = Regex::new(r"\([\w\d][/*+-^][\w\d]\)").unwrap();
println!("input = {:?}", input);
input = create_formula(input, re);
println!("input = {:?}", input);
}
爲什麼,雖然?您可以通過取消引用來從「Cow」中獲取參考。 – ljedrz
@ljedrz:大概是這樣'input = create_formula(input,re);'起作用。 –