文字列メソッド
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 69/75。
Rustには、文字列に対してさまざまな操作を実行できる豊富な組み込み文字列メソッドが用意されています。これらのメソッドは、文字列の操作、検索、変換のための機能を提供します。以下に、よく使われる文字列メソッドをいくつか紹介します。
len(): 文字列のバイト数を返します(ASCIIテキストの場合は文字数と等しくなります)。chars().nth(index): 指定されたインデックス(0から開始)にある文字を返します。このメソッドはOption<char>を返します。これは、値が存在する場合は Some、存在しない場合は None を表す Rust 特有の型です。これに対して.unwrap()を呼び出すと、文字の値を直接取り出すことができます。
contains(substring): 文字列に指定された部分文字列が含まれているかを確認します。starts_with(prefix): 文字列が指定された接頭辞で始まるかを確認します。ends_with(suffix): 文字列が指定された接尾辞で終わるかを確認します。
to_uppercase(): 文字列を大文字に変換します。to_lowercase(): 文字列を小文字に変換します。trim(): 文字列の先頭と末尾の空白を削除します。
例えば:
let message = "Hello, World!";
let length = message.len();
let firstChar = message.chars().nth(0).unwrap();
let contains_world = message.contains("World");
let starts_with_hello = message.starts_with("Hello");
let lower = message.to_lowercase();チャレンジ
簡単文字列を引数として受け取り、文字列メソッドを使用して以下の分析結果を出力する、analyzeStringという名前のメソッドを作成してください。
- 文字列の長さ
- インデックス4の文字
- 文字列に部分文字列 "Rust" が含まれているかどうか
- 文字列がドット
.で終わっているかどうか - 大文字に変換された文字列
出力は以下の形式に従う必要があります。
Length: [The length]
Char at 4: [The Char at index 4]
Contains Rust: [true or false]
Ends with dot: [true or false]
Uppercase: [The string in uppercase]注意:入力文字列はすべての操作に対して十分な長さがあると仮定してください。
自分で試してみよう
use std::io;
fn analyze_string(s: &str) {
// ここにコードを記述してください
}
fn main() {
let mut message = String::new();
io::stdin().read_line(&mut message).unwrap();
let message = message.trim();
analyze_string(message);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。