我正在调用REST API并且正在接收XML响应.它返回一个工作区名称列表,我正在编写一个快速IsExistingWorkspace()方法.由于所有工作空间都包含没有空格的连续字符,因此我假设最简单的方法是查找列表中的特定工作空间是否删除所有空格(包括换行符)并执行此操作(XML是从Web接收的字符串请求):
XML.Contains("<name>" + workspaceName + "</name>");
Run Code Online (Sandbox Code Playgroud)
我知道它区分大小写,我依靠它.我只需要一种方法来有效地删除字符串中的所有空格.我知道RegEx和LINQ可以做到,但我对其他想法持开放态度.我大多只关心速度.
我的代码看起来像这样:
struct Bar {
i: i32,
}
struct Foo {
v: Vec<Bar>,
}
impl Foo {
fn foo(&mut self) {
self.v.drain(self.v.iter().filter(|b| b.i < 10));
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,Bar不允许复制或克隆.
我想删除所有Bar不满足该条件的s.最初我以为我可以迭代它们并调用remove但是我不允许有两个可变借用或一个可变借用,如果存在一个完全有意义的不可变借用.
我想最简单的事情是只clone,filter和collect,但我不能克隆或复制.
我该怎么做?