【发布时间】:2020-06-01 15:10:00
【问题描述】:
如果我有一个向量,比如
let mut bytes = vec![0x01, 0x02, 0x03, 0x40, 0x04, 0x05, 0x40, 0x06, 0x40];
我想用0x40 分隔符分隔向量。有没有一种干净的方式来实现这个功能?
预期输出:
[[0x01, 0x02, 0x03], [0x04, 0x05], [0x06]]
【问题讨论】:
标签: rust
如果我有一个向量,比如
let mut bytes = vec![0x01, 0x02, 0x03, 0x40, 0x04, 0x05, 0x40, 0x06, 0x40];
我想用0x40 分隔符分隔向量。有没有一种干净的方式来实现这个功能?
预期输出:
[[0x01, 0x02, 0x03], [0x04, 0x05], [0x06]]
【问题讨论】:
标签: rust
使用slice::split:
fn main() {
let bytes = [0x01, 0x02, 0x03, 0x40, 0x04, 0x05, 0x40, 0x06, 0x40];
let pieces: Vec<_> = bytes
.split(|&e| e == 0x40)
.filter(|v| !v.is_empty())
.collect();
println!("{:?}", pieces)
}
另见:
【讨论】: