Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby方法生成类似';世界你好';像';你好,世界';_Ruby - Fatal编程技术网

Ruby方法生成类似';世界你好';像';你好,世界';

Ruby方法生成类似';世界你好';像';你好,世界';,ruby,Ruby,什么是Ruby方法,可以使像Hello World这样的字符串像Hello\u World这样做: 'Hello World'.gsub(/( )/, '_').downcase! “Hello World”.downcase.split.join(“”)您不需要Rails助手。你可以用纯红宝石做 'Hello World'.downcase.tr(' ', '_') # => hello_world 是的,在没有rails的情况下,所有这些方法都可以满足您的需要,但为了回答实际问题,

什么是Ruby方法,可以使像
Hello World
这样的字符串像
Hello\u World

这样做:

'Hello World'.gsub(/( )/, '_').downcase!

“Hello World”.downcase.split.join(“”)

您不需要Rails助手。你可以用纯红宝石做

'Hello World'.downcase.tr(' ', '_')
# => hello_world

是的,在没有rails的情况下,所有这些方法都可以满足您的需要,但为了回答实际问题,rails提供了
下划线


只需在其他答案的基础上添加以下内容:

'Hello World'.split.join('_').downcase
  => 'hello_world'

如果要使用Rails方法执行此操作,还可以执行以下操作:

在Rails 4中:

"Hello World".parameterize('_')
=> "hello_world"
或(在Rails 5中):

我想这就是@DGM的想法

Rails 4参考:

Rails 5参考:
“Hello World”.gsub(“,”)。下划线

您也可以使用Rails的“下划线”方法:“Hello World”.tr(“,”)。下划线5回答了问题,没有人对问题进行了投票。@coder\u tim:Ja!不再是了!:)这将从小写到大写的转换转换为下划线,但这会将空格转换为小写吗?是的,实际上还要加一点。看从它链接的源。我看了源。好像不行。嗯,你说得对。好吧,那么上述问题是不可能回答的我编辑了这个问题以反映这一点;作为一个普通的ruby问题更有用。哎,不是我否决了你的问题:)不要因为别人否决了你就否决我。我认为否决票是因为键入了“doawncase”,否则代码就可以工作。如果要替换多个空格,需要使用
String\gsub
。Rails 3.2也可以工作!
'Hello World'.split.join('_').downcase
  => 'hello_world'
"Hello World".parameterize('_')
=> "hello_world"
"Hello World".parameterize(separator: '_')
=> "hello_world"