是否可以将Option <String>格式化为小写?

时间:2019-06-17 12:58:26

标签: rust clap

我是Rust的初学者,我想将Option格式化为小写。

我需要这样做,因为我正试图通过拍击在CLI mod中获取一些字符串参数。我想要一个简单的“匹配”来获得正确的值,即使用户写的很奇怪。

这是我当前的代码:

    let format : String = match matches.value_of("format") {
        Some("html") => String::from("html"),
        Some("bbcode") => String::from("bbcode"),
        _ => String::from("markdown"),
    };

我不想做出像这样的可怕事情:

    let format : String = match matches.value_of("format") {
        Some("html") | Some("HTML") | Some("Html") | ...etc => String::from("html"),
        Some("bbcode") | Some("BBCODE") | Some("BBcode") | ...etc => String::from("bbcode"),
        _ => String::from("markdown"),
    };

我尝试天真地做出类似的事情:

    let format : String = match matches.value_of("format").unwrap().to_lowercase() {
        Some("html") => String::from("html"), // don't work because my match is not an Option now but a String
        "html" => String::from("html"), // nop, this is a "String" not an "str" =_=
        String::from("html") => String::from("html"), // nop I cannot 
        "html".to_string() => String::from("html"), // nop I cannot too
    };

好吧,我是新手,但是很难对rust中的字符串进行基本切换了?

0 个答案:

没有答案