Stringのメソッド
テキストの操作
「Stringのメソッド」はCoddyKit上の無料Learn Rust Codingレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn Rust Coding学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn Rust Codingコースには全4レッスンが含まれています。
テキストを扱う
Rustのstr型には、テキストを調べたり変換したりする組み込みメソッドが多数あります。これらはStringと&strの両方で使えます。
fn main() {
let s = "Hello, Rust";
println!("length {}", s.len());
}大文字と小文字の変更
to_uppercaseとto_lowercaseを使うと、大文字と小文字を変換できます。これらは新しいStringを返します。
fn main() {
let s = "Rust";
println!("{}", s.to_uppercase());
println!("{}", s.to_lowercase());
}空白の削除
trimは先頭と末尾の空白を削除し、元のテキスト内のスライスを返します。
fn main() {
let padded = " spaced ";
let clean = padded.trim();
println!("[{}]", clean);
}内容を確認する
contains、starts_with、ends_withを使ってテキストを確認します。それぞれboolを返します。
fn main() {
let s = "rust_lang.txt";
println!("{}", s.contains("lang"));
println!("{}", s.ends_with(".txt"));
}テキストを置換する
replaceは、ある部分文字列のすべての出現箇所を別の文字列に置き換え、新しいStringを生成します。
fn main() {
let s = "I like cats. Cats are nice";
let dogs = s.replace("ats", "ats and dogs");
println!("{}", dogs.replace("cats", "pets"));
}テキストを分割する
splitは区切り文字でテキストを分割し、イテレーターを生成します。split_whitespaceは、あらゆる空白で分割します。
fn main() {
let csv = "a,b,c";
for part in csv.split(',') {
println!("{}", part);
}
}Vecに分割結果を格納する
分割した各要素を保存する必要がある場合は、ベクターに収集します。
fn main() {
let line = "one two three";
let words: Vec<&str> = line.split_whitespace().collect();
println!("{:?} ({} words)", words, words.len());
}部分文字列を検索する
findは、最初に一致した箇所のバイトインデックスをOptionとして返します。一致しない場合はNoneを返します。
fn main() {
let s = "abcdef";
match s.find('d') {
Some(i) => println!("found at {}", i),
None => println!("not found"),
}
}文字を反復処理する
charsメソッドは各文字を順に生成します。テキストをchar単位で処理するときに使います。
fn main() {
let s = "abc";
for c in s.chars() {
println!("{}", c);
}
}文字数を数える
バイト数ではなく文字数を数えるには、chars().count()を使います。これはASCII以外のテキストで重要です。
fn main() {
let s = "hello";
println!("{} chars", s.chars().count());
}メソッドを連結する
Stringのメソッドは新しい値を返すため、連結してすっきりした変換処理を書けます。
fn main() {
let input = " Hello World ";
let result = input.trim().to_lowercase().replace(' ', "_");
println!("{}", result);
}簡単な確認
前後の空白を削除するメソッドを思い出してください。
まとめ
よく使う文字列メソッド:
- 大文字・小文字:
to_uppercase、to_lowercase。 - 整理:
trim、replace。 - 確認:
contains、starts_with、find。 - 分割:
split、split_whitespace、chars。
ほとんどのメソッドは新しい値を返すため、うまく連結できます。
fn main() {
let raw = " Rust,Go,Lua ";
let langs: Vec<&str> = raw.trim().split(',').collect();
println!("{:?}", langs);
}よくある質問
「Stringのメソッド」レッスンは無料ですか?
はい。「Stringのメソッド」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn Rust Codingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn Rust Codingコースには全4レッスンが含まれています。
「Stringのメソッド」で何を学びますか?
テキストの操作 ブラウザで直接実行するハンズオンコードでLearn Rust Codingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn Rust Codingを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn Rust Codingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Stringのメソッド」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn Rust Codingレッスンでコードを書いて実行できますか?
はい。すべてのLearn Rust Codingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Stringと&strの違い
- スライス
- Stringのメソッド
- UTF-8とChars