gpt4 book ai didi

string - 如何在 Rust 中找到字符串中字符的索引?

转载 作者:行者123 更新时间:2023-11-29 07:47:06 24 4
gpt4 key购买 nike

我有一个值为“Program”的字符串,我想在该字符串中找到字符“g”的索引。

最佳答案

虽然比我想要的要复杂一些,但另一个解决方案是使用 Chars迭代器及其 position() 函数:

"Program".chars().position(|c| c == 'g').unwrap()

find在接受的解决方案中使用返回字节偏移量,不一定是字符的索引。它适用于基本的 ASCII 字符串,例如问题中的字符串,并且当它用于多字节 Unicode 字符串时会返回一个值,将结果值视为字符索引会导致问题。

这个有效:

let my_string = "Program";
let g_index = my_string.find("g"); // 3
let g: String = my_string.chars().skip(g_index).take(1).collect();
assert_eq!("g", g); // g is "g"

这不起作用:

let my_string = "プログラマーズ";
let g_index = my_string.find("グ"); // 6
let g: String = my_string.chars().skip(g_index).take(1).collect();
assert_eq!("グ", g); // g is "ズ"

关于string - 如何在 Rust 中找到字符串中字符的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43820696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com