Avatar ·

如何在 Rust 中拆分字符串(String 或 &str)?

大家好!我刚开始学习 Rust,遇到了一个在其他语言(如 Python 或 JavaScript)中一行代码就能解决的问题。我需要按分隔符(例如空格或逗号)拆分字符串,并获取各部分组成的数组或向量。 以下是我尝试做的: ```rust let text = "apple,banana,grape"; // 想要得到 ["apple", "banana", "grape"] ``` 我尝试使用 `.split()` 方法,但它返回的是某种迭代器,而不是数组。当我尝试通过 `.collect()` 将结果收集到向量时,编译器会报类型错误。我还不明白拆分时 `String` 和 `&str` 有什么区别——它们有不同的方法吗?如果字符串包含 Unicode 字符(例如西里尔字母),该怎么办?`.split()` 能正常工作吗? 请告诉我如何正确高效地拆分字符串。最好提供常见情况的代码示例:按单个字符拆分、按子字符串拆分,以及如何获取字符串向量或切片。