Rustで文字列が数値かどうかの判定

String変数を.parseしてOkかErrかどうかで判定可能。 たぶん<u8>じゃなくて<u16>とかにすると範囲が拡大する。

    let name = match name.parse::<u8>() {
        Ok(_) => String::from(format!("{}-{}", user_name, name)),
        Err(_) => name,
    };

この例だと数値が来ていた場合はuser_nameとハイフンで結んだ文字列をnameにshadowingしている。anatofuz-01的な感じ。