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

嘿,我正在写我的第一个Rails应用程序,我正在尝试用空格替换下划线形成一个传入的id名称,如下所示:

之前 :test_string

之后 :测试字符串

我怎样才能做到这一点? 对不起,如果这是一个愚蠢的问题,我对正则表达式不是很熟悉……

str.gsub!(/_/, ' ') 

gsub代表’全局替换’,感叹号意味着它将改变字符串本身而不是仅返回替换字符串。

你也可以使用String#tr!在没有正则表达式的情况下完成它String#tr!

 str.tr!('_', ' ') 

在rails上你可以使用简单的.humanize和ruby的.downcase方法,但要小心,因为它也会.downcase任何最后的’_id’字符串(在大多数情况下,这正是你需要的,甚至是大写的第一个字母)

 'text_string_id'.humanize.downcase => "text string" 

哎呀,我实际上有它工作 – 只是忘了更新变量名称:P

我正在使用这个:

 @id = params[:id] @title = @id.gsub("_", " ") 

在rails中使用split和join

“test_string”.split(’_’)。join(”)