从标题案件到案件案件

时间:2013-03-24 23:19:55

标签: ruby-on-rails regex ruby-on-rails-3

我正在尝试编写帮助程序,将字符串从"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"

2 个答案:

答案 0 :(得分:30)

答案 1 :(得分:-1)

最简单的解决方案可能只是抓住第一个字母,大写它,然后将其与第一个字母已被删除的新字符串放在一起。然后只需运行常规替换即可将_更改为。这里不需要任何花哨的正则表达式。