Techioz Blog

Rubyで複数のスペース文字を削除するにはどうすればよいですか?

概要

ルビー さて、文字列に複数のスペース文字がある場合はそれを削除したいと思います。つまり、次のようなテキストがあるとします。

I want to     learn ruby more and more.

「to」の後と「learn」の前に複数のスペース文字があることを確認してください。タブまたは複数のスペースのいずれかです。ここで私がしたいのは、テキストファイルにこのようなものがあるかどうかをどうやって知ることができるかということであり、単語または文字列ごとにスペースを 1 つだけ入れたいと考えています。それでこうなります

I want to learn ruby more and more.

Gサブは使えますか?それとも他の方法を使用する必要がありますか? Gsub を試してみましたが、望む結果を生み出すための正しい方法で実装する方法がわかりません。わかりやすく説明できれば幸いです。助けていただければ幸いです。ありがとうございます。

解決策

String#squeeze 複数の文字の実行を削除します。

'I want to     learn ruby more and more.'.squeeze(' ')
# => "I want to learn ruby more and more."