我有一个CSV格式的文件,第一列数据表示项目代码,可选以"UNIUNI"
个字符或混合字符结尾,通过条形码阅读器加载.我需要删掉最后的"UNI"
.
我写了这个函数:
fn main() {
// Ok: from "9846UNIUNI" to "9846"
println!("{}", read_csv_rilev("9846UNIUNI".to_string()));
// Wrong: from "9846uniuni" to "9846"
println!("{}", read_csv_rilev("9846uniuni".to_string()));
}
fn read_csv_rilev(code: String) -> String {
code
//.to_uppercase() /*Unstable feature in Rust 1.1*/
.trim_right_matches("UNI")
.to_string()
}
理想的函数签名如下所示:
fn read_csv_rilev(mut s: &String)
但对String
人采取就地行动可能不是一个好主意.事实上,在Rust标准库中,除了String::pop()
之外,没有任何东西可以这样做.