去除所有空白的Ruby函数是什么?我正在寻找一些类似于PHP的trim()?
当前回答
你可以试试这个:
"ab c d efg hi ".split.map(&:strip)
为了得到这个:
["ab, "c", "d", "efg", "hi"]
或者如果你想要一个字符串,只需使用:
"ab c d efg hi ".split.join
其他回答
如果你正在使用Rails/ActiveSupport,你可以使用挤压方法。它删除字符串两端的空白,并将多个空白分组为单个空格。
如。
" a b c ".squish
将导致:
"a b c"
查看api.rubyonrails.org的参考资料。
"asd sda sda sd".gsub(' ', '')
=> "asdsdasdasd"
分裂。Join将丢弃字符串中任何位置的所有空格。
" a b c d ".split.join
> "abcd"
它很容易输入和记忆,所以在控制台和快速破解上都很不错。在严肃的代码中可能不受欢迎,因为它掩盖了意图。
(基于上文justice的回答中Piotr的评论)
String#strip -删除开头和结尾的所有空白。
字符串#lstrip -只是从开始。
String#rstrip -只从末尾开始。
String#chomp(不带参数)-从末尾删除行分隔符(\n或\r\n)。
String#chop -删除最后一个字符。
x.delete(" \t\r\n")删除所有列出的空白。
String#gsub - x.gsub(/[[:space:]]/, ") -删除所有空白,包括unicode空白。
注意:上面所有的方法都返回一个新的字符串,而不是改变原来的字符串。如果您想就地更改字符串,请使用!最后。
s = "I have white space".delete(' ')
并模拟PHP的trim()函数:
s = " I have leading and trailing white space ".strip
推荐文章
- bash:错误的替换
- 在c#中检查字符串是否只包含数字的最快方法
- Ruby中没有增量操作符(++)?
- 如何得到一个特定的输出迭代哈希在Ruby?
- Ruby正则表达式中\A \z和^ $的区别
- 我怎么能强迫一个长字符串没有任何空白被包装?
- 转换JSON字符串到JSON对象c#
- 将查询字符串解析为数组
- 如何追加一个字符到std::字符串?
- __FILE__在Ruby中是什么意思?
- Paperclip::Errors::MissingRequiredValidatorError with Rails
- 删除字符串中的字符列表
- 在Java中转换float为String和String为float
- Ruby:如何将散列转换为HTTP参数?
- 使用Pandas为字符串列中的每个值添加字符串前缀