Ruby用逗号分隔吸收尾随空格
我需要将一个字符串拆分为两个变量。 例如,以下方法可以正常工作:
first,second = "red,blue".split(',')
我想分割用户输入,可能在逗号后面有一个可选空格。 如何在逗号被吸收后写入空格? 我需要正确处理所有这些可能性:
"red,blue" # first="red" second="blue" "red, blue" # first="red" second="blue" "red,dark blue" # first="red" second="dark blue" "red, light blue" # first="red" second="light blue"
只需修剪结果条目即可。 执行此操作的方式取决于您是否要在逗号后面只支持一个空格,或者是否要删除所有前导空格(也可能是尾随空格)。 如果您的目标是获取文字,就像样本中的文字一样,您应该删除所有周围的空格。
first,second = "red, blue".split(',').map(&:strip)
您的代码中没有正则表达式 – 您使用字符串进行拆分,这会产生影响。 "red,blue".split(/\s*,\s*/)
应该按预期工作。
list.split(/, */)
这是一个正则表达式,可以在逗号后使用或不使用空格。
- Ruby on Rails:nil的未定义方法`call’:NilClass
- 使用Ruby的Net:HTTP保留HTTP头中的大小写
- 如何在不同时区显示Rails表单日期时间选择?
- 如何在ruby中引用子模块的“完整路径”?
- Ruby:从没有Rails的gem访问rake任务
- Rails 3.1 named_scope
- 我可以或者应该通过ruby中的object_id属性找到一个对象吗?
- Heroku Rails Net :: HTTP:OpenSSL :: SSL :: SSLError:SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书validation失败
- GroupingError:错误:列“”必须出现在GROUP BY子句中或用于聚合函数