Ruby如何删除多个空格字符?

Lum*_*hen 2 ruby string whitespace

Ruby 好的,我想删除一个字符串中的多个空格字符,如果有的话.我的意思是,假设我有这样的文字:

I want to     learn ruby more and more.
Run Code Online (Sandbox Code Playgroud)

看到"to"之后和"学习"之前有一个以上的空格字符,无论是标签还是几个空格.现在我想要的是,我怎么知道文本文件中是否有这样的东西,我想让每个单词或字符串只有一个空格.所以它会变成这样

I want to learn ruby more and more.
Run Code Online (Sandbox Code Playgroud)

我可以使用Gsub吗?或者我需要使用其他方法吗?我尝试了Gsub,但无法弄清楚如何以正确的方式实现它,以便它可以产生我想要的结果.希望我能清楚地解释清楚.任何帮助表示赞赏,谢谢.

inf*_*sed 6

String#squeeze删除多个字符的运行:

'I want to     learn ruby more and more.'.squeeze(' ')
# => "I want to learn ruby more and more."
Run Code Online (Sandbox Code Playgroud)


Yu *_*Hao 5

您可以使用gsub将一个或多个空格(正则表达式/ +/)替换为单个空格:

'I want to     learn ruby more and more.'.gsub(/ +/, " ")
#=> "I want to learn ruby more and more."
Run Code Online (Sandbox Code Playgroud)