Blog

rust の split_once が便利だった。

最近、趣味で僕が書いてるプログラムでは split を 2 こまでしたいというケースが多くて、以下のように書いていた。

fn main() {
    let s = "foo bar";
    let p :Vec<&str> = s.splitn(2, ' ').collect();
    println!("{},{}", p[0], p[1]);
}

これは、実は split_once というメソッドを使えば良い。

fn main() {
    let s = "foo bar";
    let (a, b) = s.split_once(' ').unwrap();
    println!("{},{}", a, b);
}

便利すぎる。