【发布时间】:2019-10-23 06:10:11
【问题描述】:
我有一个来自 CSV 文件的字符串:
my $str = 'NA19900,4,111629038,0;0,0;0,"GSA-rs16997168,rs16997168,rs2w34r23424",C,T,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0';
应该(以某种方式)翻译成
'NA19900,4,111629038,0;0,0;0,"GSA-rs16997168;rs16997168;rs2w34r23424",C,T,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0';
这样 perl 的 split 不会将单个字段 GSA-rs16997168,rs16997168 拆分为两个单独的字段
即如果逗号在两个 " 之间,则逗号应替换为分号我在 Google 上找不到如何执行此操作
到目前为止我已经尝试过:
$str =~ s/"([^"]+),([^"]+)"/"$1;$2"/g;但这会因 > 2 个表达式而失败
1234563那:(
我听说过前瞻,但我不知道如何在这里使用它们:(
【问题讨论】: