假设我们有这样的字符串:
Hello, my\n name is Michael.
如何删除该新行并将其后的空格删除到字符串内部以获取此内容?
Hello, my name is Michael.
答案 0 :(得分:164)
查看Rails squish
方法:
答案 1 :(得分:33)
说明内置挤压的Rubys:
string.gsub("\n", ' ').squeeze(' ')
答案 2 :(得分:17)
最简单的方法可能是
s = "Hello, my\n name is Michael."
s.split.join(' ') #=> "Hello, my name is Michael."
答案 3 :(得分:5)
试试这个:
s = "Hello, my\n name is Michael."
s.gsub(/\n\s+/, " ")
答案 4 :(得分:4)
此正则表达式将使用1个空格替换1个或多个空格的实例,p.s \s
将替换包含\s\t\r\n\f
的所有空白字符:
a_string.gsub!(/\s+/, ' ')
同样仅适用于回车
str.gsub!(/\n/, " ")
首先用空格替换所有\n
,然后使用删除多个空白正则表达式。
答案 5 :(得分:4)
my_string = "Hello, my\n name is Michael."
my_string = my_string.gsub( /\s+/, " " )
答案 6 :(得分:3)
使用String#gsub:
s = "Hello, my\n name is Michael."
s.gsub(/\s+/, " ")
答案 7 :(得分:1)
Use squish
currency = " XCD"
str = currency.squish
str = "XCD" #=> "XCD"
答案 8 :(得分:0)
通过仅包含以下Ruby Facet,您可以仅将squish
方法添加到Ruby:
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
require 'facets/string/squish'
然后使用
"my \n string".squish #=> "my string"
不需要Rails。