如何从字符串中提取第一个/最后一个字母数字字符

问题描述 投票:0回答:1

我有一个看似简单的问题,即从 Rust 中的字符串中提取第一个和最后一个字母数字字符。请考虑下面我的简约示例:

fn main() {
    let s: String = "Peace to the world!".to_string();

    // check: string is not empty
    if !s.is_empty() {

        let s    = s.to_uppercase();

        let fidx = s.find(char::is_alphanumeric).unwrap();
        println!("fidx: {fidx}");

        let fchar = s.get(fidx..fidx).unwrap();
        println!("fchar: {fchar}");

        let lidx = s.rfind(char::is_alphanumeric).unwrap();
        println!("lidx: {lidx}");

        let lchar = s.get(lidx..lidx).unwrap();
        println!("lchar: {lchar}");
    }
}

我的代码为

fchar
lchar
返回空字符。如何从字符串中获取这些字符?您也请检查我的代码吗——我不确定这是最短、最优雅的解决方案。

string rust character
1个回答
1
投票

fidx..fidx
始终为空,因为第二个值排除了

您可能想使用包含范围:

let fchar = s[fidx..=fidx];
© www.soinside.com 2019 - 2024. All rights reserved.