当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust String.drain用法及代码示例


本文简要介绍rust语言中 std::string::String.drain 的用法。

用法

pub fn drain<R>(&mut self, range: R) -> Drain<'_> where    R: RangeBounds<usize>,

创建一个排水迭代器,该迭代器删除 String 中的指定范围并产生已删除的 chars

注意:即使迭代器直到最后才被消耗,元素范围也会被删除。

Panics

如果起点或终点不在 char 边界上,或者它们超出边界,则会出现Panics。

例子

基本用法:

let mut s = String::from("α is alpha, β is beta");
let beta_offset = s.find('β').unwrap_or(s.len());

// Remove the range up until the β from the string
let t: String = s.drain(..beta_offset).collect();
assert_eq!(t, "α is alpha, ");
assert_eq!(s, "β is beta");

// A full range clears the string
s.drain(..);
assert_eq!(s, "");

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::string::String.drain。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。