在记事本++中更改每个文件的第一行

时间:2015-08-27 15:59:31

标签: regex notepad++

我有50个文件,第一行有空白,第二行用双引号括起来。我想删除第一行,并从每行文件的第二行删除双引号。

这些更改都可以在1个正则表达式中完成,还是需要使用两个不同的表达式?

注意:我无法在示例数据中将第一行打印为空白,因为此网站不允许我这样做。 \ n只是表示一个空行。

第二行在所有50个文件中都不同,所以我不能使用简单的查找和替换。我需要使用一些正则表达式。

示例数据。

\n
"PRODUCTID","ATTRIBUTENAME_VALUE","STATE"
"00300678116042","NOT_APPLICABLE","CONFIRMED"
"00041260363603","NOT_APPLICABLE","CONFIRMED"

预期输出

PRODUCTID,ATTRIBUTENAME_VALUE,STATE
"00300678116042","NOT_APPLICABLE","CONFIRMED"
"00041260363603","NOT_APPLICABLE","CONFIRMED"

2 个答案:

答案 0 :(得分:1)

我认为这应该作为一个替换文件中的查找:

找到:^\r\n"(.*?)","(.*?)","(.*?)"

替换为:\1,\2,\3

答案 1 :(得分:1)

您可以尝试这样的事情:

(?:\G(?!^)|^\R)"([^"\n]*)

并将其替换为$1

模式细节:

(?:
    \G      # contiguous to the previous match
    (?!^)   # not at the start of the line
            # (to prevent \G to match the start of the string)
  |         # OR
    ^\R     # start of a line followed by a newline (an empty line)
)
"
([^"\n]*)   # capture group 1: all that is not a quote or a newline
            # (to reach the next quote)