我正在尝试编写帮助程序,将字符串从"something_like_this"
转换为"Something like this"
。我正在使用"something_like_this".titlecase
将其发送到"Something Like This"
但是除了第一个字母之外,我一直在小写每个大写字母。
我想我正在寻找这样的事情:
def write_sentence
string.titlecase.gsub!(/UPPERCASE-TO-LOWERCASE-EXCEPT-FIRST/)
#that should be something to lowercase everything except the first letter
return string
end
所以在视图中我可以写string.write_sentence
并让它完全返回我想要的内容。有什么想法吗?
谢谢!
修改
我应该提一下,字符串有时只能是一个单词,在这种情况下,字符串应该从"something"
转换为"Something"
。
答案 0 :(得分:30)
试试这个,
"something_like_this".humanize
http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-humanize
答案 1 :(得分:-1)
最简单的解决方案可能只是抓住第一个字母,大写它,然后将其与第一个字母已被删除的新字符串放在一起。然后只需运行常规替换即可将_
更改为。这里不需要任何花哨的正则表达式。