Menu
Coddy logo textTech

文字列メソッド

CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 69/75。

Rustには、文字列に対してさまざまな操作を実行できる豊富な組み込み文字列メソッドが用意されています。これらのメソッドは、文字列の操作、検索、変換のための機能を提供します。以下は、よく使われる文字列メソッドの一部です:

  • len(): 文字列の文字数を返します。
  • 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]

注意:入力される文字列は、すべての操作を行うのに十分な長さであると仮定してください。

チートシート

Rustの組み込み文字列メソッド:

  • len(): 文字数を返します
  • chars().nth(index).unwrap(): 指定されたインデックス(0から開始)の文字を返します
  • 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();

自分で試してみよう

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腕試し

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

Fundamentalsのすべてのレッスン