どうも、ちょげ(@chogetarou)です。
文字列(string)の空白を削除する方法を紹介します。
方法

文字列(string)の空白を削除する方法は、2つあります。
retain()
ひとつは、retain()を使う方法です。
まず、文字列からretain()を呼び出します。
retain()の引数に1つの引数を持つクロージャーを指定します。
そして、クロージャーで引数が空白の場合に「true」を返すようにします。
//text=対象の文字列(String型)
text.retain(|c| !c.is_whitespace());
上記のretain()は、呼び出した文字列(string)の空白を削除します。
使用例
fn main() {
let mut text: String = " H e l l o, W o r ld .".to_string();
text.retain(|c| !c.is_whitespace());
println!("{}", text);
}
出力:
Hello,World.
filter()
もうひとつは、filter()を使う方法です。
まず、文字列からchars()、chars()からfilter()を呼び出します。
filter()の引数に1つの引数を持つクロージャーを指定します。
クロージャーを引数が空白の場合に「true」を返すようにします。
そして、filter()からcollect()を呼び出します。
//text=対象の文字列
let text: String = text.chars().filter(|c| !c.is_whitespace()).collect();
上記のcollect()は、呼び出した文字列(string)の空白を削除した文字列(String型)を生成します。
使用例
fn main() {
let text: &str = " H e l l o, W o r ld .";
let result: String = text.chars().filter(|c| !c.is_whitespace()).collect();
println!("{}", result);
}
出力:
Hello,World.
まとめ
文字列(string)の空白を削除する方法は、次の2つです。
- retain()を使う方法(String型限定)
text.retain(|c| !c.is_whitespace());
- filter()を使う方法
let text: String = text.chars().filter(|c| !c.is_whitespace()).collect();
コメント