简单的正则表达式 – 用空格替换下划线
嘿,我正在写我的第一个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(”)