Perl Regex:如何从 CSV 行中删除引号内的引号

2024-05-05

我从 CSV 文件中得到了一行"作为场围场和,作为字段分隔符作为字符串。有时有"在打破场围的数据中。我正在寻找一个正则表达式来删除这些".

我的字符串看起来像这样:

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

我看过this http://www.regular-expressions.info/lookaround.html但我不明白如何告诉它只删除引号

  1. 不在字符串的开头
  2. 不在字符串的末尾
  3. 前面没有,
  4. 后面没有一个,

我设法用这行代码告诉它同时删除 3 和 4:

$csv =~ s/(?<!,)"(?!,)//g;

然而,我无法适应^ and $在那里,因为前向和后向都不喜欢被写成(?<!(^|,)).

除了拆分字符串并从每个元素中删除引号之外,是否有一种方法可以仅使用正则表达式来实现此目的?


为了操作 CSV 数据,我建议使用文本::CSV http://search.cpan.org/~makamaka/Text-CSV-1.21/lib/Text/CSV.pm- CSV 数据中存在很多潜在的复杂性,虽然可以构建代码来处理您自己的问题,但当有一个经过尝试和测试的 CPAN 模块可以为您完成此操作时,就不值得付出努力

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl Regex:如何从 CSV 行中删除引号内的引号 的相关文章

随机推荐

  • 全文搜索 DynamoDB

    以下情况 我正在为我的客户将元素存储在 DyanmoDb 中 HashKey 是元素 ID Range Key 是客户 ID 除了这些字段之外 我还存储一个字符串数组 gt 标签 例如 Pets House 和多行文本 我想在我的应用程序中
  • 在 Yii 2.0 中添加 jquery

    如何在 Yii 2 0 中将 jQuery 添加到我的页面 在 Yii 1 x 中你可以使用 Yii app gt clientScript gt registerCoreScript jquery 我已经尝试用自己的 View 类重写并尝
  • 正则表达式奇/偶数

    我有一个正则表达式问题 我不知道该怎么做 它必须匹配开头包含任意数量的 a 的所有字符串 如果 a 的数量为偶数 则匹配单个 0 如果 a 的数量为奇数 则匹配单个 1 如何跟踪偶数 奇数 Sample aaa1 aaaa0 a aa 1
  • 在Python中使用Pandas进行数字到日期的转换?

    当我尝试从数字格式转换为日期时 我没有得到与 Excel 中相同的结果 我需要转换一个Number to 日期格式并得到与 Excel 中相同的结果 例如 在 Excel 中 对于以下数字 我得到以下结果 Input 42970 73819
  • EaselJS:使用线连接 2 个容器/形状

    我希望能够单击一个容器 形状 当我移动鼠标时 会绘制一条可以连接到另一个容器 形状 一端有箭头 的线 理想情况下 我希望这条线捕捉到目标元素 我是 EaselJS 的新手 我不知道如何解决这个问题 这是我在这里遇到的关闭 我无法理解它 使用
  • 数据源和数据集的区别

    我目前正在开发一个项目 其主要任务是读取存储在 SQL 数据库中的数据并以用户友好的形式显示它们 使用的编程语言是C 我在 Borland C Builder 6 环境中工作 但我认为标题中提出的问题与编程语言或库无关 当从数据库读取数据时
  • 像数组一样初始化类对象

    我正在为学校项目创建一个自定义向量类 我希望能够像这样初始化它 vector x 2 3 4 5 C 有什么办法可以做到这一点吗 这是我的班级的标题 class vector private int vsize int valloc dou
  • 'value'之间有什么区别吗?' aria-label='在SQL Server中,not(columnName='value')和columnName<>'value'之间有什么区别吗?'> 在SQL Server中,not(columnName='value')和columnName<>'value'之间有什么区别吗?

    在 SQL Server 的 where 子句中 无论您编写代码有什么区别not columnName value or columnName lt gt value 我正在考虑性能方面的问题 有人告诉我 当使用 Not 时 它可能不会使用
  • 在同一解决方案中处理 C# 和 VB.net 项目

    我在一个c 项目中 在这个项目中我引用 使用项目引用 另一个用vb net编写的类库 现在 当我右键单击并查看类的定义时 它不会带我到 vb net 项目中的确切源代码 而是带我到 vb net 类的动态生成的 C 表示形式 我尝试了相反的
  • 应用程序崩溃 - dyld: 未找到符号: _OBJC_CLASS_$_UITraitCollection

    dyld Symbol not found OBJC CLASS UITraitCollection 代码中我引用 UITraitCollection 的唯一地方是 func loadImages imageName NSString va
  • Visual Studio 的“右键单击”键盘快捷键?

    我试图强迫自己尽可能少地使用鼠标 但我在任何地方都找不到这个简单快捷方式的答案 步骤如下 打开 Visual Studio 打开任何 C 文件 或我认为的任何代码文件 将鼠标指向任意位置 窗口 文件 右键点击 是否有一个快捷键 这样我就不必
  • Linux 中如何获取内存修改通知

    在Linux的用户空间程序中 我通过从堆中分配来获取一块内存 然后将指针分发给在其他线程中运行的许多其他组件来使用 当上述内存被修改时我想收到通知 我当然可以开发一个自定义用户空间解决方案 供其他组件在尝试修改内存时使用 我的情况的问题是这
  • 如何在MVC中将整套模型附加到formdata并获取它

    如何通过formdata传递一整套模型对象并将其转换为控制器中的模型类型 以下是我尝试过的 JavaScript 部分 model EventFromDate fromDate EventToDate toDate ImageUrl img
  • 更改整个工作表的背景颜色

    有没有办法将背景颜色更改为xlNone 例如整张纸 我发现你可以添加背景图片 但是如何更改工作表中所有单元格的颜色呢 您可以使用以下代码轻松完成此操作 Public Sub Demo set color WorksheetName Cell
  • Oh-my-zsh 哈希(井号)符号错误模式或未找到匹配项

    我很确定是与我的 Oh my zsh 配置相关的东西 但我不知道它是什么 当我在 git 命令中使用 符号时 但也适用于其他所有命令 例如 ls 2 我收到 错误模式 错误或 找不到匹配项 我猜是要计算一些东西 但我找不到在哪里配置它 I
  • 如何在 Linux 上使用 Mono 将 Perl 解释器嵌入到我的 C# 程序中?

    有谁知道是否可以在 C 中从 Mono 调用 Perl 子程序 这是在 Linux 机器上 Maybe DllImport 如果可能的话 我们也希望避免每次都加载 perl Interop 可以在 Linux 下与 Mono 很好地调用 C
  • 绘制连接两点的曲线而不是直线

    I want to do something like this 我有要点 但不知道如何绘制曲线而不是直线 谢谢 对于对这个问题感兴趣的人 我遵循了 Matthew 的建议并提出了这个实现 def hanging line point1 p
  • 我应该在 Python 字典上使用“has_key()”还是“in”? [复制]

    这个问题在这里已经有答案了 Given gt gt gt d a 1 b 2 以下哪一项是检查是否存在的最佳方法 a is in d gt gt gt a in d True gt gt gt d has key a True in绝对更P
  • Crystal 如何检查函数内部是否给出了块参数

    假设一个函数定义如下 def composition text String k Int32 Array String kmers Array String new 0 text size k each do i kmers lt lt t
  • Perl Regex:如何从 CSV 行中删除引号内的引号

    我从 CSV 文件中得到了一行 作为场围场和 作为字段分隔符作为字符串 有时有 在打破场围的数据中 我正在寻找一个正则表达式来删除这些 我的字符串看起来像这样 my csv qq 123456 024003 Stuff 28 stuff w