Ruby根据字段的内容将记录拆分为多个记录

时间:2018-03-23 19:18:39

标签: ruby

记录布局包含两个字段:

  • Requistion
  • 测试名称

示例记录:

R00000001," 4钙卫蛋白,1 Luminex xTAG,8幽门螺杆菌粪便抗原(IgA),9乳铁蛋白,3抗麦醇溶蛋白IgA,10幽门螺杆菌组,6粪脂肪,11抗生素抗性组, 2 C.艰难梭菌Tox A / Tox B,5弹性蛋白酶,7粪潜血,12志贺菌"

LIMS(实验室信息管理系统)系统中使用的当前Ruby代码段是:

{{1}}

我需要在Ruby代码段中执行的操作是在第二个字段中创建每个以逗号分隔的值的新记录。

注意:

'测试名称'中的值的数量字段从1到20 ......或更多。

可以有100个Requistion记录

最终结果将是:

R00000001," 4钙卫蛋白"

R00000001," 1 Luminex xTAG"

R00000001," 8 H. pylori粪便抗原(IgA)"

R00000001," 9乳铁蛋白"

R00000001," 3抗麦醇溶蛋白IgA"

R00000001," 10 H. pylori Panel"

R00000001," 6粪便脂肪"

R00000001," 11抗生素抗性小组"

R00000001," 2 C. difficile Tox A / Tox B"

R00000001," 5弹性蛋白酶"

R00000001," 7粪便潜血"

R00000001," 12 Shigella"

1 个答案:

答案 0 :(得分:0)

如果您的数据是您在示例中显示的可靠字符串,那么这是您的方法:

data = subj.get_value('Tests').join(', ') # assuming this gives your string obj.

def split_data(data)
  arr = data.gsub('"','').split(',')
  arr.map {|l| "#{arr[0]} \"#{l.strip}\""}[1..-1]
end

puts split_data(data)