我尝试使用Notepad ++来选择和删除我正在处理的CSV文件开头的某些字符。我要移除的具体数据是在开头的13个字符(123456.123456)
之后但在第一个|
之前的任何内容。
数据如下:
167689.010802/PCT|071699.00087|"DATASETNAME"
167689.010803/PCT2|071699.00070|"DATASETNAME"
167689.010804/US|071699.00071|"DATASETNAME"
167689.010805/JP|071699.00073|"DATASETNAME"
167689.010806/CA|071699.00074|"DATASETNAME"
167689.010807/AU|071699.00075|"DATASETNAME"
167689.010808/EP|071699.00076|"DATASETNAME"
167689.010809/CN|071699.00080|"DATASETNAME"
167689.010810/US/CON|071699.00072|"DATASETNAME"
如您所见,数据已经|
分隔。但是,并非每一行都是相同的。有些包含2组数据,有些包含字母后跟数字。
在集合中选择此特定数据的最简单方法是什么?
答案 0 :(得分:2)
答案是:
(?<=^\d{6}\.\d{6})[^|]+
如果它们总是6位数,点,开头的6位数字或:
(?<=^.{13})[^|]+
如果匹配任何13个字符。
它使用正面lookbehind,在记事本++ reference中称为断言。你断言,你只想在某种模式之后匹配字符。
答案 1 :(得分:0)
最简单的方法是使用捕获组:
^(.{13})[^|]+
前13个字符被捕获为第一个捕获组,而|
以外的所有其他字符都将被丢弃。
您需要使用替换$1
。