Yanıtlar:
Rails squishyöntemine göz atın :
some_string.strip.gsub(/\s+/, " ")squish'in yaptığı tam olarak hangisini kullanın .
squish
Yakutların sıkıştırmada yerleşik olduğunu göstermek için :
string.gsub("\n", ' ').squeeze(' ')
squeeze(' ')sadece boşlukları sıkıştırır. "Squeeze my application's copy".squeeze(' ') => "Squeeze my application's copy".
bu normal ifade 1 veya daha fazla beyaz boşluk örneğini 1 beyaz boşlukla \sdeğiştirir , ps aşağıdakileri içeren tüm beyaz boşluk karakterlerini değiştirir \s\t\r\n\f:
a_string.gsub!(/\s+/, ' ')
Benzer şekilde sadece satır başı için
str.gsub!(/\n/, " ")
Önce tümünü \nbeyaz boşlukla değiştirin , ardından birden çok beyaz boşluk kaldır normal ifadesini kullanın.
Dize # gsub kullanın :
s = "Hello, my\n name is Michael."
s.gsub(/\s+/, " ")
"Hello,\nMy name is Michael". İdeal olarak \n
Use squish
currency = " XCD"
str = currency.squish
str = "XCD" #=> "XCD"
squishRuby'ye sadece bu Ruby Façeta'yı ekleyerek sadece yöntemi (ve başka hiçbir şeyi) ekleyebilirsiniz :
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/squish.rb
require 'facets/string/squish'
Sonra kullan
"my \n string".squish #=> "my string"
Rails gerektirmez.