Menu
CoddyTech

文字列メソッド

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();
challenge icon

チャレンジ

簡単

文字列を入力として受け取り、文字列メソッドを使って次の分析結果を出力する、analyzeStringという名前のメソッドを作成してください。

  1. 文字列の長さ
  2. インデックス4の文字
  3. 文字列に部分文字列 "Rust" が含まれているかどうか
  4. 文字列がピリオド . で終わるかどうか
  5. 大文字に変換された文字列

出力は次の形式に正確に従ってください。

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);
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rustオンラインコンパイラ