文字列メソッド
CoddyのRustジャーニー「基礎」セクションの一部。レッスン 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);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rustオンラインコンパイラ