【问题标题】:Regex end of line with specific value notepad++ form csv file带有特定值的正则表达式行尾 notepad++ 表单 csv 文件
【发布时间】:2013-12-31 02:16:32
【问题描述】:

我有一个大的 csv 文件,我需要以特定方式编辑它:

代码:

56;CZ;null;;null;49,7500;15,5000;null;
57;DE;null;;null;51,0000;9,0000;null;
58;DJ;null;;null;11,5000;43,0000;null;
133176;US;GA;Brookfield;31727;31,4185;-83,3910;525;229
133177;US;PA;Daisytown;15427;40,0668;-79,9722;508;724

如果最后一个';'之后没有任何内容,我需要在行尾添加'null'值 所以我需要在执行我的正则表达式后获得类似的东西

56;CZ;null;;null;49,7500;15,5000;null;null
57;DE;null;;null;51,0000;9,0000;null;null
58;DJ;null;;null;11,5000;43,0000;null;null
133176;US;GA;Brookfield;31727;31,4185;-83,3910;525;229
133177;US;PA;Daisytown;15427;40,0668;-79,9722;508;724

你有什么想法吗?我已经尝试使用带有正则表达式的notepad++替换功能

find what: ;\n
replace with: ;null\n

但我得到这样的东西:

56;CZ;null;;null;49,7500;15,5000;null;
null
57;DE;null;;null;51,0000;9,0000;null;
null
58;DJ;null;;null;11,5000;43,0000;null;
null
133176;US;GA;Brookfield;31727;31,4185;-83,3910;525;229
133177;US;PA;Daisytown;15427;40,0668;-79,9722;508;724

知道有什么问题吗?

【问题讨论】:

    标签: regex csv notepad++


    【解决方案1】:

    改用下面的模式,用;null替换

    ;$
    

    这是一个简单的模式,它将所有分号放在行尾($ 表示可选的 \n 之前,以及字符串的结尾)

    【讨论】:

      【解决方案2】:

      另一种解决方案是使用Positive Lookbehind

      Find: (?<=;$)
      Replace: null
      

      正则表达式:

      (?<=           look behind to see if there is:
       ;             ';'
       $             before an optional \n, and the end of the string
      )              end of look-behind
      

      Live demo

      【讨论】:

        猜你喜欢
        • 2012-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-23
        相关资源
        最近更新 更多