当我找到字符^C
或^B
时,我正在尝试拆分一条线。由于某种原因,它没有正确分裂。
我一直在Rubular并对此进行了测试,据说它应该拆分它。
我正在阅读并尝试拆分的行看起来像这样:
SOME_KEY^CSOME_VALUE^BSOME_KEY^CSOME_VALUE
代码是:
final_array = []
temp_array = []
array__with_all_of_the_data.each do |x|
temp_array = x.split(/\^C/)
temp_array.each do |y|
final_array << y.split(/\^B/)
end
@final_array << final_array.join(",")
end
答案 0 :(得分:2)
使用正则表达式/\^[BC]/
分割:
>> 'SOME_KEY^CSOME_VALUE^BSOME_KEY^CSOME_VALUE'.split(/\^[BC]/)
=> ["SOME_KEY", "SOME_VALUE", "SOME_KEY", "SOME_VALUE"]
如果您想将\B
/ \C
替换为,
,请使用gsub而不是split
+ join
:
>> 'SOME_KEY^CSOME_VALUE^BSOME_KEY^CSOME_VALUE'.gsub(/\^[BC]/, ',')
=> "SOME_KEY,SOME_VALUE,SOME_KEY,SOME_VALUE"