【发布时间】:2021-09-08 08:21:30
【问题描述】:
我想将一个 UTF-8 字符串拆分成大小相等的块。我想出了一个可以做到这一点的解决方案。现在我想简化它,如果可能的话,删除第一个对方付费电话。有办法吗?
fn main() {
let strings = "ĄĆĘŁŃÓŚĆŹŻ"
.chars()
.collect::<Vec<char>>()
.chunks(3)
.map(|chunk| chunk.iter().collect::<String>())
.collect::<Vec<String>>();
println!("{:?}", strings);
}
【问题讨论】:
-
似乎,为了获得块,你需要收集成向量。见这里:stackoverflow.com/questions/42134874/…
-
与 unicode 字符串一样,您需要注意“相等大小的块”的确切含义。您可能需要考虑字素而不是字符 - 因为这将拆分组合字符和组合表情符号。
-
以下是@MichaelAnderson 提出的问题的示例:playground