Rust:
部分文字列の抽出
How to: (方法)
fn main() {
let text = "こんにちは、Rustの世界へようこそ!";
let start = text.char_indices().nth(5).map(|(i, _)| i).unwrap_or(0);
let end = text.char_indices().nth(10).map(|(i, _)| i).unwrap_or(text.len());
let substring = &text[start..end]; // 5番目から9番目までの文字を抽出
println!("{}", substring); // "、Rust"
}
出力:
、Rust
Deep Dive (深掘り)
サブストリング抽出の前は、全文を扱うしかなかった。Rustでは.char_indices()
, .chars()
などのイテレータを利用してUnicode文字の正しい扱いができます。Rust以外では、異なるライブラリや関数を用いることもあります。Rustでは所有権と借用のシステムにより、サブストリングが元の文字列を参照していることを明確にできるので安全性が保たれます。