11 lines
282 B
Rust
11 lines
282 B
Rust
use std::str::FromStr;
|
|
|
|
pub fn parse_num<T: FromStr>(s: &str) -> Option<(T, &str)> {
|
|
let (num_part, rest) = s
|
|
.char_indices()
|
|
.find_map(|(i, c)| (!c.is_numeric()).then_some(s.split_at(i)))
|
|
.unwrap_or((s, ""));
|
|
|
|
Some((num_part.parse().ok()?, rest))
|
|
}
|