嘿,我正在编写我的第一个Rails应用程序,而我正在尝试使用空格替换带有空格的传入ID名称:
在:test_string 之前在之后
:测试字符串
我该怎么做?对不起,如果这是一个愚蠢的问题,我对正则表达式不是很熟悉......
答案 0 :(得分:34)
str.gsub!(/_/, ' ')
gsub
代表“全局替换”,感叹号意味着它将改变字符串本身而不是仅返回替换字符串。
您也可以使用String#tr!
str.tr!('_', ' ')
答案 1 :(得分:26)
在rails上你可以使用简单的.humanize
和ruby的.downcase
方法,但要小心,因为它也会删除任何最终的'_id'字符串(在大多数情况下,这正是你需要的,甚至是大写的第一封信)
'text_string_id'.humanize.downcase
=> "text string"
答案 2 :(得分:9)
哎呀,我确实让它工作了 - 只是忘了更新变量名:P
我正在使用它:
@id = params[:id]
@title = @id.gsub("_", " ")
答案 3 :(得分:0)
在rails中使用split和join
“test_string”.split('_')。join('')