Разбиение строки в регулярных выражениях в Rust
Разбиение проходит по каждому совпадению шаблона и возвращает итератор кусков между разрезами. Пустые фрагменты могут появиться, если разделители стоят рядом.
Разделим список по запятым и пробелам:
use regex::Regex;
fn main() {
let re = Regex::new(r",\s*").expect("bad pattern");
let line = "one, two,three";
for part in re.split(line) {
println!("{}", part);
}
}
Шаблон может быть сложнее одного символа, например несколько пробелов подряд:
use regex::Regex;
fn main() {
let re = Regex::new(r"\s+").expect("bad pattern");
let line = "a b c";
let parts: Vec<&str> = re.split(line).collect();
println!("{}", parts.len());
}
Дана строка:
let line = "one;two;three";
Получите три части по точке с запятой и выведите их по очереди.
Дана строка:
let line = "2024-10-02";
Разрежьте дату на год, месяц и день и выведите три числа.