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
的な感じ。