😊

0008 read-lines, regex

に公開
use std::fs::read_to_string;
use std::env;
use regex::Regex;
fn main() {
    let args: Vec<String> = env::args().collect();

    let filename = &args[1];
    println!("Reading file: {}", filename);
    let lines = read_lines(&filename);
    let re = Regex::new(r"Alice").unwrap();
    let mut alice_line = 0;
    lines.iter().for_each(|line: &String| {
        let Some(_caps) = re.captures(line) else {
            return;
        };
        alice_line += 1;
    });
    println!("Found {} lines with 'Alice'", alice_line);
}
#[allow(dead_code)]
fn read_lines(path:&str) -> Vec<String> {
    read_to_string(path)
    .unwrap()
    .lines()
    .map(String::from)
    .collect()
}
[package]
name = "read-lines"
version = "0.1.0"
edition = "2024"

[dependencies]
regex = "1.8.0"

Discussion