去除所有空白的Ruby函数是什么?我正在寻找一些类似于PHP的trim()?
当前回答
使用gsub或delete。区别在于gsub可以删除制表符,而delete不能。有时文件中确实有编辑器添加的选项卡。
a = "\tI have some whitespaces.\t"
a.gsub!(/\s/, '') #=> "Ihavesomewhitespaces."
a.gsub!(/ /, '') #=> "\tIhavesomewhitespaces.\t"
a.delete!(" ") #=> "\tIhavesomewhitespaces.\t"
a.delete!("/\s/") #=> "\tIhavesomewhitespaces.\t"
a.delete!('/\s/') #=> using single quote is unexpected, and you'll get "\tI have ome whitepace.\t"
其他回答
" Raheem Shaik ".strip
它将删除左边和右边的空格。 这段代码会给我们"拉希姆·谢克"
别忘了:
$ s = " I have white space ".split
=> ["I", "have", "white", "space"]
我会用这样的方法:
my_string = "Foo bar\nbaz quux"
my_string.split.join
=> "Foobarbazquux"
Ruby的String的.scan()和.join()方法也可以帮助克服字符串中的空白。
扫描(\ w + /)。Join将删除所有空格并连接字符串
string = "White spaces in me".scan(/\w+/).join
=>"Whitespacesinme"
它还从字符串的左右部分删除空格。表示ltrim, rtrim和trim。以防万一有人有C, FoxPro或Visual Basic的背景,然后跳到Ruby。
2.1.6:002 > string = " White spaces in me ".scan(/\w+/).join = > " Whitespacesinme " 2.1.6:003 > string = " White spaces in me".scan(/\w+/).join = > " Whitespacesinme " 2.1.6:004 > string = "White spaces in me ".scan(/\w+/).join = > " Whitespacesinme " 2.1.6:005 >
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
推荐文章
- 不区分大小写的列表排序,没有降低结果?
- indexOf()和search()的区别是什么?
- 我如何在Swift连接字符串?
- 如何获得一个变量值,如果变量名存储为字符串?
- 在Ruby中不创建新字符串而修饰字符串的规范方法是什么?
- 为什么不是字符串。空一个常数?
- RVM不是一个函数,用' RVM use…’不会起作用
- 如何删除表中特定列的第一个字符?
- 我应该如何从字符串中删除所有的前导空格?- - - - - -斯威夫特
- 了解Gemfile。锁文件
- 如何确定一个数组是否包含另一个数组的所有元素
- 将整数转换为字符串,以逗号表示千
- 将JavaScript字符串中的多个空格替换为单个空格
- printf()和puts()在C语言中的区别是什么?
- 是什么导致这个ActiveRecord::ReadOnlyRecord错误?