字符串
数字转字符串
1 | let num = 42; |
遍历字符串
1 | let s = "hello world"; |
在 Rust 中,字符串是以 UTF-8 编码的,因此遍历字符串时需要注意字符的 Unicode 编码。以下是几种常见的遍历字符串的方法:
1. 遍历字符(Unicode 标量值)
使用 .chars()
方法可以按字符遍历字符串:
1 | fn main() { |
输出:
1 | 你 |
2. 遍历字节
使用 .bytes()
方法可以按字节遍历字符串(UTF-8 编码的字节序列):
1 | fn main() { |
输出:
1 | 228 |
3. 遍历字符及其索引
使用 .char_indices()
方法可以同时获取字符及其在字符串中的字节索引:
1 | fn main() { |
输出:
1 | Index: 0, Char: 你 |
4. 遍历字形簇(Grapheme Clusters)
对于某些复杂的 Unicode 字符(如表情符号或组合字符),可能需要使用字形簇来正确遍历。可以使用 unicode-segmentation
库:
首先,在 Cargo.toml
中添加依赖:
1 | [dependencies] |
然后使用 unicode_segmentation::UnicodeSegmentation
遍历字形簇:
1 | use unicode_segmentation::UnicodeSegmentation; |
输出:
1 | न |
总结
- 使用
.chars()
遍历字符。 - 使用
.bytes()
遍历字节。 - 使用
.char_indices()
遍历字符及其索引。 - 对于复杂的 Unicode 字符,使用
unicode-segmentation
库遍历字形簇。
根据你的需求选择合适的方法!在 Rust 中,字符串是以 UTF-8 编码的,因此遍历字符串时需要注意字符的 Unicode 编码。以下是几种常见的遍历字符串的方法:
字符串按下标取值
1 | fn main() { |