给定字符串
什么是获取该字符后的索引的最佳方法,以便我可以切片字符串并获取
(注意,
我目前有以下内容:
但是我在想,如果有更好的方法呢?
s
,以及索引 i
,它是字符 好
开始的位置:let s = "abc 好 def";
let i = 4;
什么是获取该字符后的索引的最佳方法,以便我可以切片字符串并获取
abc 好
?在代码中:let end = find_end(s, i);
assert_eq!("abc 好", &s[0..end]);
(注意,
+1
不起作用,因为它假设字符只有 1 个字节长。)我目前有以下内容:
fn find_end(s: &str, i: usize) -> usize {
i + s[i..].chars().next().unwrap().len_utf8()
}
但是我在想,如果有更好的方法呢?
is_char_boundary
。使用char_indices
,如果您停在一个字符并希望获取下一个索引,则可以使用i + c.len_utf8()
,所以这也是一个好主意! - robinst