我有一个很大的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
知道出了什么问题吗?
答案 0 :(得分:4)
请使用以下模式,然后使用;null
;$
这是一个简单的模式,它将所有Semicolon都放在一行的末尾($表示在可选的\ n之前,以及字符串的结尾)
答案 1 :(得分:1)
另一种解决方案是使用正面观察。
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