Как использовать рубины/рельсы для преобразования всех шапок в подходящую первую букву, нижний регистр отдыха?
У меня есть файл данных с именами и адресами... все они в верхнем регистре.
Как я могу преобразовать его, чтобы правильно создать верхний регистр первой буквы, а нижний регистр остальных (за исключением состояний, например)?
Я мог бы, вероятно, изолировать состояния, чтобы не проходить синтаксический разбор, но для остальных, как я мог это сделать для рубинового приложения rails?
Ответы
Ответ 1
Если вы можете отделить состояния, как вы говорите, это легко:
my_address_string.titlecase
Он будет использовать первую букву каждого слова (включая некоторые, которые я бы предпочел, например, "a" или "the", но эй...) и некапитализировать остальных. Звучит так же, как вы хотите.
Ответ 2
Ответ Xavier работает для меня в среде Rails 2.3.5. Или вы можете попробовать это
my_address_string.downcase.gsub(/(\A|\s)\w/){ |letter| letter.upcase }