Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用ruby/rails将所有大写字母转换为正确的首字母大写字母,其余为小写字母?_Ruby On Rails_Ruby - Fatal编程技术网

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}请记住,除非每个名称都有区域性信息,否则这样做是不合理的(这是非常不可能的)。