cirton
V2EX  ›  Java

读取 txt 文本,列中的分隔符要如何处理?

  •  
  •   cirton · Apr 28, 2019 · 3554 views
    This topic created in 2746 days ago, the information mentioned may be changed or developed.

    读取文本:

    9.78043902348e+12,Suzanne Collins,2008.0,The Hunger Games,"The Hunger Games (The Hunger Games, #1)",eng,4.34,4780653

    分隔符是逗号,但是列中如 "The Hunger Games (The Hunger Games, #1)" 包含了逗号,这要如何处理? 使用正则可以吗?

    6 replies  •  2019-04-29 00:49:39 +08:00
    Chemist
    Chemist
    Apr 28, 2019
    1
    写 parser,引号方括号圆括号之类的结对出现的字符优先匹配,没有匹配上的话之后逗号都视为普通字符不匹配。
    my3157
    my3157
    Apr 28, 2019
    2
    如果不特别 care 性能, 建议正则
    lululau
    lululau
    Apr 28, 2019
    3
    这不是 CSV 吗,人家已经把包含分隔符的字段引起来了啊
    annielong
    annielong
    Apr 28, 2019
    4
    就如 csv 大文件导入时候文本包含引号的问题一样
    gaolycn
    gaolycn
    Apr 28, 2019 via Android
    5
    请使用 csv parser,不用当作纯文本自己处理
    autogen
    autogen
    Apr 29, 2019
    6
    我还见过这样的代码。。。。

    if cols.length == 9:
    fullname = cols[4] +',' + cols[5]
    cols.pop(5)
    else:
    fullname = cols[4]



    -
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2722 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    ♥ Do have faith in what you're doing.