Я хотел бы захватить все числа в строке и вернуть вектор целых чисел, что-то вроде этого (результат может быть пустым вектором):
fn str_strip_numbers(s: &str) -> Vec<isize> {
...
}
Прототип Python:
def str_strip_numbers(s):
"""
Returns a vector of integer numbers
embedded in a string argument.
"""
return [int(x) for x in re.compile('\d+').findall(s)]
Для "alfa"
результат равен []
, для "42by4"
это [42, 4]
.
Какой идиоматический способ получить его в Rust?
UPD:
fn str_strip_numbers(s: &str) -> Vec<String> {
lazy_static! {
static ref RE: Regex = Regex::new(r"\d+").unwrap();
}
RE.captures(s).and_then(|cap| {cap})
}
Я пробовал что-то подобное, что грубо неверно по нескольким подсчетам.Каков будет правильный подход?