如何获取字符串中位置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))。