从字符串中删除所有空格
Remove all whitespace from string
如何从字符串中删除所有空格?我可以想到一些明显的方法,例如遍历字符串并删除每个空白字符,或使用正则表达式,但这些解决方案的表现力或效率不高。从字符串中删除所有空格的简单有效方法是什么?
如果要修改 String
,请使用 retain
。如果可用,这可能是最快的方法。
fn remove_whitespace(s: &mut String) {
s.retain(|c| !c.is_whitespace());
}
如果您因为仍然需要它或只有一个 &str
而无法修改它,那么您可以使用过滤器并创建一个新的 String
。当然,这将不得不分配 String
.
fn remove_whitespace(s: &str) -> String {
s.chars().filter(|c| !c.is_whitespace()).collect()
}
一个好的选择是使用 split_whitespace
然后收集到一个字符串 :
fn remove_whitespace(s: &str) -> String {
s.split_whitespace().collect()
}
其实我找到了一个更短的方法
fn no_space(x : String) -> String{
x.replace(" ", "")
}
如何从字符串中删除所有空格?我可以想到一些明显的方法,例如遍历字符串并删除每个空白字符,或使用正则表达式,但这些解决方案的表现力或效率不高。从字符串中删除所有空格的简单有效方法是什么?
如果要修改 String
,请使用 retain
。如果可用,这可能是最快的方法。
fn remove_whitespace(s: &mut String) {
s.retain(|c| !c.is_whitespace());
}
如果您因为仍然需要它或只有一个 &str
而无法修改它,那么您可以使用过滤器并创建一个新的 String
。当然,这将不得不分配 String
.
fn remove_whitespace(s: &str) -> String {
s.chars().filter(|c| !c.is_whitespace()).collect()
}
一个好的选择是使用 split_whitespace
然后收集到一个字符串 :
fn remove_whitespace(s: &str) -> String {
s.split_whitespace().collect()
}
其实我找到了一个更短的方法
fn no_space(x : String) -> String{
x.replace(" ", "")
}