Rust 文字列の先頭から指定した文字を取り除く

Rust 文字列の先頭から指定した文字を取り除く

Rustで、文字列の先頭から指定した文字を取り除くサンプルコードを記述してます。「strip_prefix()」で可能です。Rustのバージョンは1.66.0を使用してます。

環境

  • OS windows11 home
  • rustc 1.66.0

文字列の先頭から指定した文字を取り除く

文字列の先頭から指定した文字を取り除くには「strip_prefix()」を使用します。

"文字列".strip_prefix("文字列")

実際に使用してみます。

fn main() {

    let mut str: String = "abcdeab".to_string();

    println!( "{:?}", str.strip_prefix('a') ); // Some("bcdeab")
    println!( "{:?}", str.strip_prefix("ab") ); // Some("cdeab")
    println!( "{:?}", str.strip_prefix("bc") ); // None

}

実行結果を見ると、取り除かれていることが確認できます。

日本語とサロゲートペア文字

日本語とサロゲートペア文字に使用しても、正常に動作します。

fn main() {

    let mut str: String = "あいうえお".to_string();

    println!( "{:?}", str.strip_prefix('あ') ); // Some("いうえお")
    println!( "{:?}", str.strip_prefix("あい") ); // Some("うえお")
    println!( "{:?}", str.strip_prefix("かき") ); // None

    str = "🙈🙉🙊".to_string();

    println!( "{:?}", str.strip_prefix('🙈') ); // Some("🙉🙊")
    println!( "{:?}", str.strip_prefix("🙈🙉") ); // Some("🙊")
    println!( "{:?}", str.strip_prefix("🙊🙊") ); // None

}