やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Rustで正規表現(regex 5)

 クロージャで置換。

成果物

コード

Cargo.toml

[dependencies]
regex = "1"

main.rs

use regex::Regex;

fn main() {
    const CONTENTS: &'static str = "MZ-80K2E";
    let re = Regex::new(r"\d+").unwrap();
    let result = re.replace_all(CONTENTS, |caps: &regex::Captures| {
        let num: u32 = (&caps[0]).parse().unwrap();
        format!("{:04}", num)
    });
    println!("{}", result);
}

 数字が続く箇所は4桁でゼロ埋めする。

実行

$ cargo run
...
MZ-0080K0002E

参考

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

前回まで