regex - 用正则表达式替换 CSV 中引号之间的逗号

标签 regex csv split abap

例如,我们有一个这样的字符串:

"COURSE",247,"28/4/2016 12:53 Europe/Brussels",1,"Verschil tussen merk, product en leveranciersverantwoordelijke NL","Active Enro"

目标是替换“merk, product”之间的逗号,并将逗号保留为“,”和“, & ,”,以便我们可以正确拆分文件。

有什么建议?

亲切的问候

最佳答案

首先,您应该检查Understanding CSV files and their handling in ABAP文章。

对于一次性工作,您可以使用此正则表达式(但请注意,对于较长的字符串,它可能无法正常工作,请将其用作最后的手段):

,(?!(?:[^"]*"[^"]*")*[^"]*$)

regex demo

图案详情 :
  • , - 逗号...
  • (?! - 没有跟在....
  • (?: ——
  • [^"]* - 除 " 之外的零个或多个字符
  • " - 双引号
  • [^"]*" - 见上文
  • )* - 上述分组模式的零个或多个序列
  • [^"]* - 除 " 之外的零个或多个字符
  • $ - 字符串结尾
  • ) - 负前瞻结束
  • 关于regex - 用正则表达式替换 CSV 中引号之间的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38300941/

    相关文章:

    dataframe - Julia CSV 跳过行

    MySQL:选择逗号分隔列表的第一个元素

    python - 在通用列表中拆分 unicode 字符串

    python - .split() 和 .append 来自 .txt 文件的信息作为元组到新列表

    regex - 如何在 Julia 中编写包含加号的正则表达式?

    ruby - 匹配的 Ruby 正则表达式的长度

    python - 增加文件中的所有数字

    java - 删除Java错误中的空格

    regex - 括号内带有元字符的 Vim 正则表达式

    python - 如何在不添加到列表末尾的情况下分割 .csv?