Ruby 删除空间无法正常工作

标签 ruby

代码如下:

ruby-1.9.2-p290 :019 > "a, , b, c".delete(" , ") 
 => "abc"

我想要它

a, b, c

我做错了什么?

最佳答案

delete 删除您交给它的字符串中出现的所有字符(参见 ruby-doc )。你需要的是类似

"a, , b, c".gsub(/(\s*,\s*)+/, ', ')

更新:

如以下评论中所述,该字符串是 join(', ') 的结果。在这种情况下,更好的方法是在加入之前删除空/nil 元素,即

array.compact.join(', ')                      # if some elements are nil
array.delete_if(:&empty?).join(', ')          # if some elements are ''
array.compact.delete_if(:&empty?).join(', ')  # if both can occur

关于Ruby 删除空间无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153783/

相关文章:

ruby - 定义方法 `sum_to_n?`

ruby - 编码数据太短无法加载 : Loading an array

ruby - 如何传递一个语句作为参数?

ruby - 用 ruby​​ 解析 XSD

ruby - Rails 将日志打印到 Rails 控制台

ruby - 指南针 Susy 错误 undefined variable 。

javascript - 如何在 ruby​​ 上实现时间序列、可缩放 Highcharts

ruby-on-rails - 无法在 Rspec 单元测试 Rails 中测试模块内的方法

ruby-on-rails - ruby on rails block 语法使用 & :

ruby - 箭头键在 irb/ruby 命令行脚本中不起作用?