去除所有空白的Ruby函数是什么?我正在寻找一些类似于PHP的trim()?
当前回答
Ruby的.strip方法执行与trim()相当的PHP功能。
删除所有空白:
" leading trailing ".squeeze(' ').strip
=> "leading trailing"
@塔斯让我意识到我原来的答案连续删除重复的字母-恶心!从那以后,我改用了压缩方法,如果使用Rails框架,这种方法对这种情况更聪明。
require 'active_support/all'
" leading trailing ".squish
=> "leading trailing"
" good men ".squish
=> "good men"
引用:http://apidock.com/rails/String/squish
其他回答
"asd sda sda sd".gsub(' ', '')
=> "asdsdasdasd"
分裂。Join将丢弃字符串中任何位置的所有空格。
" a b c d ".split.join
> "abcd"
它很容易输入和记忆,所以在控制台和快速破解上都很不错。在严肃的代码中可能不受欢迎,因为它掩盖了意图。
(基于上文justice的回答中Piotr的评论)
"1232 23 2 23 232 232".delete(' ')
=> "123223223232232"
删除工作更快=)
user system total real
gsub, s 0.180000 0.010000 0.190000 (0.193014)
gsub, s+ 0.200000 0.000000 0.200000 (0.196408)
gsub, space 0.220000 0.000000 0.220000 (0.222711)
gsub, join 0.200000 0.000000 0.200000 (0.193478)
delete 0.040000 0.000000 0.040000 (0.045157)
你可以试试这个:
"ab c d efg hi ".split.map(&:strip)
为了得到这个:
["ab, "c", "d", "efg", "hi"]
或者如果你想要一个字符串,只需使用:
"ab c d efg hi ".split.join
我试图这样做,因为我想使用记录“标题”作为视图中的id,但标题有空格。
解决方案是:
record.value.delete(' ') # Foo Bar -> FooBar
推荐文章
- Printf与std::字符串?
- 是否可以在MiniTest中运行单个测试?
- 如何在Ruby中生成a和b之间的随机数?
- 不区分大小写的“in”
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 如何在PHP中截断字符串最接近于一定数量的字符?
- 无法安装gem -未能建立gem本地扩展-无法加载这样的文件——mkmf (LoadError)
- 如何在Ruby中创建文件
- 什么是Ruby文件。开放模式和选项?
- Ruby数组到字符串的转换
- 如何分割(块)一个Ruby数组成X元素的部分?
- Ruby中“or”和||的区别?
- 为什么在Java和。net中不能修改字符串?
- 如何创建一个日期对象从字符串在javascript
- 如何测试参数是否存在在轨道