我有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"
答案 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)