0

当我找到字符^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
4

1 回答 1

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"
于 2013-08-13T14:22:15.013 回答