Rust 文字列をベクタ(可変の配列)に変換する
Rustで、文字列をベクタ(可変の配列)に変換するサンプルコードを記述してます。「char_indices().collect::<Vec<_>>()」を使用します。Rustのバージョンは1.62.1を使用してます。
環境
- OS windows11 home
- rustc 1.62.1
文字列をベクタ(可変の配列)に変換
文字列をベクタ(可変の配列)に変換するには「char_indices().collect::<Vec<_>>()」を使用します。
"文字列".char_indices().collect::<Vec<_>>();
実際に使用してみます。
fn main() {
let mut str: String = "mebee".to_string();
println!( "{:?}", str.char_indices().collect::<Vec<_>>() );
str = "あいうえお".to_string();
// [(0, 'm'), (1, 'e'), (2, 'b'), (3, 'e'), (4, 'e')]
println!( "{:?}", str.char_indices().collect::<Vec<_>>() );
// [(0, 'あ'), (3, 'い'), (6, 'う'), (9, 'え'), (12, 'お')]
str = " ".to_string();
println!( "{:?}", str.char_indices().collect::<Vec<_>>() );
// [(0, ' '), (1, ' '), (2, ' '), (3, ' '), (4, ' ')]
}
実行結果を見ると、変換されていることが確認できます。
※インデックス番号は、連番ではなくバイト数のようです。
サロゲートペア
サロゲートペア文字のような通常の2バイトで1文字で表すところを、4バイトで1文字となるものでも、変換されます。
fn main() {
let str: String = "😵😶😷".to_string();
println!( "{:?}", str.char_indices().collect::<Vec<_>>() );
}
実行結果
-
前の記事
Dart エラー「SocketException: リモート コンピューターによりネットワーク接続が拒否されました。」が発生した場合の対処法 2022.12.04
-
次の記事
javascript 2つの配列をそれぞれkeyとvalueにしてオブジェクトの配列を生成する 2022.12.05
コメントを書く