简单的正则表达式 - 用空格替换下划线

时间:2009-08-28 23:43:30

标签: ruby-on-rails ruby regex string

嘿,我正在编写我的第一个Rails应用程序,而我正在尝试使用空格替换带有空格的传入ID名称:

在:test_string

之前

之后

:测试字符串

我该怎么做?对不起,如果这是一个愚蠢的问题,我对正则表达式不是很熟悉......

4 个答案:

答案 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('')