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(/, */) 

这是一个正则表达式,可以在逗号后使用或不使用空格。