如果我有一个向量,例如
let mut bytes = vec![0x01, 0x02, 0x03, 0x40, 0x04, 0x05, 0x40, 0x06, 0x40];
Run Code Online (Sandbox Code Playgroud)
我想用分隔0x40符分隔向量。有没有一种干净的方法来实现这个功能?
预期输出:
[[0x01, 0x02, 0x03], [0x04, 0x05], [0x06]]
使用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)
}
Run Code Online (Sandbox Code Playgroud)
也可以看看:
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |