gpt4 book ai didi

regex - Perl 正则表达式 : How to remove quotes inside quotes from CSV line

转载 作者:行者123 更新时间:2023-12-01 07:20:45 26 4
gpt4 key购买 nike

我从 CSV 文件中得到了一行,其中 " 作为字段封闭器,, 作为字段分隔符作为字符串。有时数据中有 " 会破坏字段包围。我正在寻找一个正则表达式来删除这些 "

我的字符串如下所示:

my $csv = qq~"123456","024003","Stuff","","28" stuff with more stuff","2"," 1.99 ","",""~;

我看过 this 但我不明白如何告诉它只删除引号
  • 不在字符串的开头
  • 不在字符串的末尾
  • 前面没有 ,
  • 后面没有 ,

  • 我设法用这行代码告诉它同时删除 3 和 4 :
    $csv =~ s/(?<!,)"(?!,)//g;

    但是,我无法将 ^$ 放在那里,因为前瞻和后瞻都不喜欢写成 (?<!(^|,))

    除了拆分字符串并从每个元素中删除引号之外,有没有办法仅使用正则表达式来实现这一点?

    最佳答案

    对于处理 CSV 数据,我建议使用 Text::CSV - CSV 数据中有很多潜在的复杂性,虽然可以构建代码来处理自己,但如果有一个久经考验的 CPAN 模块可以为你做这件事,那是不值得的

    关于regex - Perl 正则表达式 : How to remove quotes inside quotes from CSV line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10446583/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com