0Pricing
Learn Rust Coding · 课时

字符串方法

操作文本

字符串方法 是 CoddyKit 上的免费 Learn Rust Coding 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 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());
}

串联方法

字符串方法会返回新值,因此您可以将它们串联起来,构成清晰的转换流程。

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);
}

常见问题解答

「字符串方法」课时是免费的吗?

是的 — 「字符串方法」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn Rust Coding 课程的其余内容,请升级到 CoddyKit PRO。 Learn Rust Coding 课程共包含 4 节课。

「字符串方法」这节课中我会学到什么?

操作文本 你通过在浏览器中直接运行的动手代码来练习 Learn Rust Coding,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Learn Rust Coding 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Learn Rust Coding 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「字符串方法」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Learn Rust Coding 课中编写并运行代码吗?

能。每节 Learn Rust Coding 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. String 与 &str 的区别
  2. 切片
  3. 字符串方法
  4. UTF-8 与字符
← 返回 Learn Rust Coding