首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby根据字段的内容将记录拆分为多个记录

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

Stack Overflow用户
提问于 2018-03-23 19:18:39
回答 1查看 32关注 0票数 0

记录布局包含两个字段:

  • 要求
  • 测试名称

示例记录:

R00000001,"4杯保护素,1 xTAG,8 H.粪便抗原(IgA),9乳铁蛋白,3抗醇溶蛋白IgA,10 H.pylori小组,6粪便脂肪,11抗生素耐药性小组,2艰难梭状Tox A/ Tox B,5弹性蛋白酶,7粪便潜血,12志贺氏菌“

在LIMS (Lab Info Management System)系统中使用的当前Ruby代码片段如下:

代码语言:javascript
运行
复制
subj.get_value('Tests').join(', ')

在Ruby代码片段中,我需要做的是在第二个字段中对每个逗号分隔的值创建一个新记录。

注意:

“测试名称”字段中的值数量从1到20...or不等。

可以有100条请求记录。

最终结果将是:

R00000001,"4杯保护素“

R00000001,"1 Luminex xTAG“

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

R00000001,"9乳铁蛋白“

R00000001,"3抗醇溶蛋白IgA“

R00000001,"10 H.pylori小组“

R00000001,"6种粪便脂肪“

R00000001,"11抗生素耐药性小组“

R00000001,"2艰难梭状Tox A/ Tox B“

R00000001,"5弹性蛋白酶“

R00000001,"7种粪便潜血“

R00000001,"12志贺“

EN

回答 1

Stack Overflow用户

发布于 2018-03-23 19:32:09

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

代码语言:javascript
运行
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49456961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档