aoc2022/src/util.rs
2022-12-14 21:03:36 -06:00

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))
}