Rust 文字列から先頭から文字数を指定して文字を残す

Rustで、文字列から先頭から文字数を指定して文字を残すサンプルコードを記述してます。「truncate()」に残す文字数を指定して使用します。Rustのバージョンは1.66.0を使用してます。
環境
- OS windows11 home
- rustc 1.66.0
文字列から先頭から文字数を指定して文字を残す
文字列から先頭から文字数を指定して文字を残すには「truncate()」を使用します。
"文字列".truncate( 残す文字数 );
実際に使用してみます。
fn main() {
let mut str: String = "abcde".to_string();
println!( "{:?}", str.truncate(1) ); // ()
println!( "{}", str ); // a
str = "abcde".to_string();
println!( "{:?}", str.truncate(2) ); // ()
println!( "{}", str ); // ab
}
実行結果を見ると、指定文字数分だけ文字が残っていることが確認できます。

「0」を指定すると、全ての文字が削除されます。
fn main() {
let mut str: String = "abcde".to_string();
println!( "{:?}", str.truncate(0) ); // ()
println!( "{}", str ); // a
}
また、文字数以上を指定すると全て残ります。
fn main() {
let mut str: String = "abcde".to_string();
println!( "{:?}", str.truncate(6) ); // ()
println!( "{}", str ); // abcde
}
日本語の場合
日本語の場合は、「3」単位で位置を指定します。
fn main() {
let mut str: String = "あいうえお".to_string();
println!( "{:?}", str.truncate(3) ); // ()
println!( "{}", str ); // あ
str = "あいうえお".to_string();
println!( "{:?}", str.truncate(6) ); // ()
println!( "{}", str ); // あい
}
サロゲートペアの場合
サロゲートペアの場合は、「4」単位で位置を指定します。
fn main() {
let mut str: String = "😇😶😻".to_string();
println!( "{:?}", str.truncate(4) ); // ()
println!( "{}", str ); // 😇
str = "😇😶😻".to_string();
println!( "{:?}", str.truncate(8) ); // ()
println!( "{}", str ); // 😇😶
}
-
前の記事
MariaDB tableを指定してCOLUMNの情報を取得する 2023.07.24
-
次の記事
GAS スプレッドシートのシートの最終行を取得する 2023.07.26
コメントを書く