我需要将一个字符串拆分为两个变量。例如,以下内容可以正常工作:
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"
答案 0 :(得分:29)
修剪结果条目。执行此操作的方式取决于您是否要在逗号后面只支持一个空格,或者是否要删除所有前导空格(也可能是尾随空格)。如果您的目标是获取文字,就像样本中的文字一样,您应该删除所有周围的空格。
first,second = "red, blue".split(',').map(&:strip)
答案 1 :(得分:11)
您的代码中没有正则表达式 - 您使用字符串进行拆分,这会产生影响。
"red,blue".split(/\s*,\s*/)
应该按预期工作。
答案 2 :(得分:1)
list.split(/, */)
这是一个在逗号后面有或没有空格的正则表达式。