ruby - 通过 split() 将空字符串转换为 nil

标签 ruby split string

我有一个要拆分的字符串,如下所示:

foo, bar, baz, etc = str.split(',')

例如,如果 str 等于“one,two,,four”,则 baz 最终等于“”(空字符串)。如果它们是空字符串,是否有任何简单的方法可以遍历这些参数以将它们转换为 nil ?还是我坚持执行以下操作?

foo = nil if foo.blank?
bar = nil if bar.blank?
baz = nil if baz.blank?
etc = nil if etc.blank?

最佳答案

如果您在 Rails 中执行此操作,则可以使用 Object#presence 方法:

foo, bar, baz, etc = str.split(',').map(&:presence)

关于ruby - 通过 split() 将空字符串转换为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639684/

相关文章:

string - htaccess 如果查询字符串变量存在则重定向

ruby - 如何更改 RTF 文档中特定字符的背景颜色?

c# - 如何在c#中提取一串文本

javascript - lowerCamelCase,忽略字符串的第一个字母

java - 如何在除点以外的所有特殊字符处拆分字符串?

Java:由正则表达式分割的字符串只得到整数

c++ - 标准 C++ 字符串库的奇怪行为

ruby - 如何禁用 espresso 框架中某些操作的布局渲染?

ruby - 检查字符串是否包含给定的字符串

ruby-on-rails - 在 ruby​​ on rails 中,通过 Controller 创建操作将当前用户 ID 保存到数据库是一个错误的选择吗?