获取 rust 字符串中第 n 个字符的值



如何获取字符串中位置n处的字符值? 例如,如果我有字符串"Hello, world!",我将如何获取第一个字符的值?

它很简单s.chars().nth(n).

但是,请注意文档中所说的那样:

重要的是要记住,char表示 Unicode 标量值,可能与您对"字符"是什么的想法不符。对字形簇进行迭代可能是您真正想要的。Rust 的标准库不提供此功能,请改为检查 crates.io。

请参阅如何在 Rust 中迭代 Unicode 字素簇?。

具体对于第一个字符,您可以使用s.chars().next()

如果您的字符串仅支持 ASCII,则可以使用as_bytes()s.as_bytes()[n]。但我不建议这样做,因为这不是面向未来的(尽管这更快,O(1) 与 O(n))。

最新更新