Rust 是一种注重安全性和性能的编程语言,它提供了多种处理字符串的常用操作。以下是一些基本的字符串操作:
1. **创建字符串**:
- 字符串字面量:`let s = "Hello, world!";`
- 使用 `String::new()` 创建一个空的 `String`。
2. **字符串切片**:
- 使用 `&str` 来创建字符串切片,例如:`let slice = &s[0..5];`。
3. **连接字符串**:
- 使用 `+` 操作符连接字符串:`let s1 = String::from("Hello, ");
let s2 = String::from("world!");
let s3 = s1 + &s2;`
- 使用 `push_str` 方法:`s1.push_str(&s2);`
4. **格式化字符串**:
- 使用 `format!` 宏:`let s = format!("The answer is {}", 42);`
5. **访问字符**:
- 通过索引访问字符:`let c = s.chars().nth(2).unwrap();`
6. **字符串迭代**:
- 使用 `chars()` 方法迭代字符:`for c in s.chars() { ... }`
- 使用 `bytes()` 方法迭代字节:`for b in s.bytes() { ... }`
7. **字符串比较**:
- 使用 `==` 和 `!=` 比较字符串:`if s1 == s2 { ... }`
8. **字符串查找**:
- 使用 `contains` 方法检查字符串是否包含某个子串:`if s.contains("lo") { ... }`
9. **字符串替换**:
- 使用 `replace` 方法替换字符串中的某个子串:`let new_s = s.replace("lo", "LO");`
10. **字符串分割**:
- 使用 `split` 方法按分隔符分割字符串:`let v: Vec<&str> = s.split(',').collect();`
11. **大小写转换**:
- 使用 `to_uppercase` 和 `to_lowercase` 方法转换大小写:`let upper = s.to_uppercase();`
12. **字符串截取**:
- 使用 `get` 方法和索引范围来截取字符串:`let slice = &s[1..4];`
13. **字符串长度**:
- 使用 `len` 方法获取字符串长度:`let length = s.len();`
14. **字符串查找和替换**:
- 使用 `find` 和 `rfind` 方法查找子串的位置:`let index = s.find("lo").unwrap();`
15. **字符串转换**:
- 将 `String` 转换为 `&str` 或将 `&str` 转换为 `String`。
这些是 Rust 中处理字符串的一些基本操作。Rust 的标准库提供了更多的功能,可以通过查阅文档来了解更多高级用法。