如何从 std::string::String 中删除换行符/换行符?
How do I remove line feeds / line breaks from std::string::String?
我找不到可以做到这一点的东西。到目前为止我所拥有的只是空白:
pub fn minify(&self) {
println!("Minify task started ... ");
let mut string_iter = self.mystring.split_whitespace();
for strings in string_iter {
println!("{}", strings);
}
}
mystring
类似于:
let mystring = "p {
text-align: center;
color: red;
} ";
首先,你必须定义什么是"line feed"。我选择字符 \n
。在那种情况下,我只使用 replace
:
println!("{}", string.replace('\n', ""))
这适用于 &str
和 String
。
如果您不需要新字符串,我会在换行符上拆分并打印出来:
pub fn minify(string: &str) {
for line in string.split('\n') {
print!("{}", line);
}
}
您现在可以 in-place 使用以下两个选项之一:
string.retain(|c| c != '\n')
或(仅限夜间)
string.remove_matches('\n');
查看 this playground 以查看它是否正常工作
我找不到可以做到这一点的东西。到目前为止我所拥有的只是空白:
pub fn minify(&self) {
println!("Minify task started ... ");
let mut string_iter = self.mystring.split_whitespace();
for strings in string_iter {
println!("{}", strings);
}
}
mystring
类似于:
let mystring = "p {
text-align: center;
color: red;
} ";
首先,你必须定义什么是"line feed"。我选择字符 \n
。在那种情况下,我只使用 replace
:
println!("{}", string.replace('\n', ""))
这适用于 &str
和 String
。
如果您不需要新字符串,我会在换行符上拆分并打印出来:
pub fn minify(string: &str) {
for line in string.split('\n') {
print!("{}", line);
}
}
您现在可以 in-place 使用以下两个选项之一:
string.retain(|c| c != '\n')
或(仅限夜间)
string.remove_matches('\n');
查看 this playground 以查看它是否正常工作