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

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

Rustで、文字列から後方にある数値を取り除くサンプルコードを記述してます。「strip_suffix()」に取り除きたい文字列を指定します。Rustのバージョンは1.66.0を使用してます。

環境

  • OS windows11 home
  • rustc 1.66.0

文字列から後方にある数値を取り除く

文字列から後方にある数値を取り除くには「strip_suffix()」を使用します。

"文字列".strip_suffix("文字列")

実際に使用してみます。

fn main() {

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

    println!( "{:?}", str.strip_suffix('b') ); // Some("abcdea")
    println!( "{:?}", str.strip_suffix("ab") ); // Some("abcde")
    println!( "{:?}", str.strip_suffix("bc") ); // None

}

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

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

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

fn main() {

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

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

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

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

}