gpt4 book ai didi

rust - 如何从字符串中删除尾随的空字符?

转载 作者:行者123 更新时间:2023-11-29 07:49:29 27 4
gpt4 key购买 nike

我在从 UTF-8 编码字符串中删除尾随空字符时遇到问题:

enter image description here

如何从 String 中删除这些字符?

这是我用来从 Vec 创建 String 的代码:

let mut data: Vec<u8> = vec![0; 512];
// populate data
let res = String::from_utf8(data).expect("Found invalid UTF-8");

最佳答案

您可以使用 trim_matches 从字符串中修剪自定义模式.模式可以是空字符:

fn main() {
let mut data: Vec<u8> = vec![0; 8];

data[0] = 104;
data[1] = 105;

let res = String::from_utf8(data).expect("Found invalid UTF-8");
println!("{}: {:?}", res.len(), res);
// 8: "hi\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}"

let res = res.trim_matches(char::from(0));
println!("{}: {:?}", res.len(), res);
// 2: "hi"
}

这会从两边移除 0。如果您只想删除尾随的 0,请使用 trim_end_matches相反。

关于rust - 如何从字符串中删除尾随的空字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49406517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com