Подтвердить что ты не робот

Как использовать рубины/рельсы для преобразования всех шапок в подходящую первую букву, нижний регистр отдыха?

У меня есть файл данных с именами и адресами... все они в верхнем регистре.

Как я могу преобразовать его, чтобы правильно создать верхний регистр первой буквы, а нижний регистр остальных (за исключением состояний, например)?

Я мог бы, вероятно, изолировать состояния, чтобы не проходить синтаксический разбор, но для остальных, как я мог это сделать для рубинового приложения rails?

4b9b3361

Ответ 1

Если вы можете отделить состояния, как вы говорите, это легко:

my_address_string.titlecase

Он будет использовать первую букву каждого слова (включая некоторые, которые я бы предпочел, например, "a" или "the", но эй...) и некапитализировать остальных. Звучит так же, как вы хотите.

Ответ 2

Ответ Xavier работает для меня в среде Rails 2.3.5. Или вы можете попробовать это

my_address_string.downcase.gsub(/(\A|\s)\w/){ |letter| letter.upcase }