在Ruby中将蛇案转换为普通句子

时间:2019-05-21 13:47:25

标签: ruby-on-rails ruby

我正在尝试将蛇形情况下的字符串转换为普通情况(例如:“ hello_world”为“ Hello world”)

我对红宝石还很陌生,并且正在Rails中使用它。我发现了这个问题Converting string from snake_case to CamelCase in Ruby,似乎该用例(.camelize)有一个函数。有什么我可以使用内置的吗?如果没有,我该如何实现?

4 个答案:

答案 0 :(得分:2)

"hello_world".capitalize.gsub("_"," ")
=> "Hello world"

答案 1 :(得分:2)

Rails有一个名为titleize

的方法
"hello_world".titleize # => "Hello World"

Ruby有一个名为capitalize

的方法
"hello_world".capitalize # => "Hello_world"

如果您只想将“ H”大写为“ Hello world”,请将两者合并(在Rails中)。

"hello_world".titleize.capitalize # => "Hello world"

答案 2 :(得分:2)

humanize是你的事:

[4] pry(main)> "hello_world".humanize
"Hello world"

答案 3 :(得分:1)

Rails 5引入了新的upcase_first方法: https://glaucocustodio.github.io/2016/05/19/rails-5-new-upcase-first-method/

通过在所有下划线之间加上空格将其合并在一起,您应该会很好:

text = 'hello_world'

text.upcase_first.gsub('_', ' ')
=> 'Hello world'