rustのstringの使い方
概要
- primitive型の
str
と、String
がある
具体例
fn main() {
// primitive型の変数の宣言
let s0: &str = "unchi!";
// 変更可能なString型の宣言
let mut s1: String = String::from("super unchi!");
// 文字を追加
s1 += "-chan!!";
// formatマクロで結合
let s2 = format!("夏は熱いね、{}", "うんちちゃん");
// Stringをcharのarrayに変換
let cs: Vec<char> = s2.chars().collect();
println!("s0 = {}, s1 = {}, s2 = {}", s0, s1, s2);
// lenはbyte単位の長さになる
println!("len = {}", "💓".len()); // len = 4
// sizeは文字の長さになる
println!("size = {}", "💓".chars().count()); // size = 1
// 数字の文字列のパース
let num = match "1234567".parse() {
Ok(num) => num,
Err(_) => -1,
};
println!("num = {}", num);
// セパレータで分割
"a-b-c".split('-').collect::<Vec<_>>(); // => ["a", "b", "c"]
}