Ruby on rails 如何使用ruby/rails将所有大写字母转换为正确的首字母大写字母,其余为小写字母?
我有一个名字和地址的数据文件…所有的都是大写的 如何将其转换为正确的大写字母和小写字母(例如,州除外)Ruby on rails 如何使用ruby/rails将所有大写字母转换为正确的首字母大写字母,其余为小写字母?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个名字和地址的数据文件…所有的都是大写的 如何将其转换为正确的大写字母和小写字母(例如,州除外) 我可能可以隔离状态以不进行解析,但对于其余部分,我如何为ruby on rails应用程序执行此操作?如果您可以像您所说的那样将状态分离出来,那么很容易: my_address_string.titlecase 它将大写每个单词的第一个字母(包括一些我不希望的字母,如“a”或“the”,但嘿…),并将其余字母取消大写。听起来正是您想要的。Xavier的答案在Rails 2.3.5环境中对我有
我可能可以隔离状态以不进行解析,但对于其余部分,我如何为ruby on rails应用程序执行此操作?如果您可以像您所说的那样将状态分离出来,那么很容易:
my_address_string.titlecase
它将大写每个单词的第一个字母(包括一些我不希望的字母,如“a”或“the”,但嘿…),并将其余字母取消大写。听起来正是您想要的。Xavier的答案在Rails 2.3.5环境中对我有用。或者你可以试试这个
my_address_string.downcase.gsub(/(\A|\s)\w/){ |letter| letter.upcase }
我做了一个宝石来处理这个问题叫。它应该适用于美国和加拿大的地址。@Angela真的吗?真奇怪。。。您正在运行什么版本的Rails?还有-它在脚本/控制台中工作吗?对我来说,在脚本/控制台中运行一些通用的东西,比如
“测试短语”。titlecase
,效果非常好……我给出了这个答案,说明了如何让我朝着正确的方向前进,但titileze最终起到了作用。。。。thanks@Angela真奇怪titlecase
只是titleize
的别名-它们应该是完全相同的函数(我也使用2.3.8)!很高兴我至少能帮上点忙。干杯请记住,titleize/titlecase会在感觉需要时进行一些小的修改。例如,“x战警:最后一站”。标题为“x战警:最后一站”。请参阅文档:my|u address_string.downcase.gsub(/(\A |\s)\w/){| letter | letter.upcase}请记住,除非每个名称都有区域性信息,否则这样做是不合理的(这是非常不可能的)。