删除string中的多个空格和新行

假设我们有这样的string:

Hello, my\n name is Michael. 

我怎样才能删除这条新的线,然后把那些空格去掉到一个string里面去呢?

 Hello, my name is Michael. 

检查出Rails squish方法:

http://apidock.com/rails/String/squish

为了说明build立在挤压中的 Rubys:

 string.gsub("\n", ' ').squeeze(' ') 

最简单的方法可能是

 s = "Hello, my\n name is Michael." s.split.join(' ') #=> "Hello, my name is Michael." 
 my_string = "Hello, my\n name is Michael." my_string = my_string.gsub( /\s+/, " " ) 

使用String#gsub :

 s = "Hello, my\n name is Michael." s.gsub(/\s+/, " ") 

这个正则expression式将用1个空格replace一个或多个空白的实例,ps \s将replace所有包含\s\t\r\n\f空白字符:

 a_string.gsub!(/\s+/, ' ') 

同样只有回车

 str.gsub!(/\n/, " ") 

首先用空格replace所有的\n ,然后使用删除多个空格正则expression式。

尝试这个:

 s = "Hello, my\n name is Michael." s.gsub(/\n\s+/, " ") 
 Use squish currency = " XCD" str = currency.squish str = "XCD" #=> "XCD"