Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 gsub如何缩短进行类似替换的代码行_Ruby_String_Gsub - Fatal编程技术网

Ruby gsub如何缩短进行类似替换的代码行

Ruby gsub如何缩短进行类似替换的代码行,ruby,string,gsub,Ruby,String,Gsub,我有一行Ruby代码,看起来像这样: words = params[:words].gsub("\n","").gsub("\s","") 既然代码占用了所有的空格和换行符,并且去掉了它们,那么有没有更好的方法呢?我只是好奇是否有更好或更短的方法,以防我的代码过于重复 上面的代码确实对我有用,但我是编程新手,如果可能的话,我想以更好/更美观的方式做事。实际上,只使用\s匹配任何空格字符应该可以: "some\n simple demo \nstring \n".gsub(/\s/, "")

我有一行Ruby代码,看起来像这样:

words = params[:words].gsub("\n","").gsub("\s","")
既然代码占用了所有的空格和换行符,并且去掉了它们,那么有没有更好的方法呢?我只是好奇是否有更好或更短的方法,以防我的代码过于重复


上面的代码确实对我有用,但我是编程新手,如果可能的话,我想以更好/更美观的方式做事。

实际上,只使用
\s
匹配任何空格字符应该可以:

"some\n simple  demo \nstring \n".gsub(/\s/, "")  # => "somesimpledemostring"

正确的。另外,使用
delete
应该比
gsub
“\s”应该包括的要快得多newline@kurumi:这不是一个regexp,\s只是匹配一个空格。如果要删除的空格位于字符串的开头或结尾,这是rails中的常见情况,则
.strip
将执行此操作。
words = params[:words].delete("\s\n")