我有一个183419行的文本文件,我想替换整行:
3 _TYPE PHOTO
使用:
3 _TYPE DOCUMENT
但仅限于以一行开头后的3或4行:
3 FILE d:\genie\grogan\doc\......
例如:
3 FILE d:\genie\grogan\doc\mills\Mills Albert 1884 Birth Partial Transcript.jpg
3 TITL Mills Albert 1884 Birth Partial Transcript
3 _SCBK Y
3 _TYPE PHOTO
或:
3 FILE d:\genie\grogan\doc\mills\Mills Albert 1884 DeathTranscript.jpg
3 TITL Mills Albert 1884 DeathTranscript
3 _SCBK Y
3 _PRIM Y
3 _TYPE PHOTO
但不适用于这种情况:
3 FILE d:\genie\grogan\photos\grogan edward\Grogan Thelma Simpson Jim.jpg
3 _SCBK Y
3 _TYPE PHOTO
这是一项需要每月运行的任务。
答案 0 :(得分:0)
进行正则表达式搜索和替换,确保未选中 Dot匹配换行符。将查找设置为^(3 FILE d:\\genie\\grogan\\doc\\(.*\r\n){3,4})3 _TYPE PHOTO$
,将替换为设置为\13 _TYPE DOCUMENT
。
(.*\r\n){3,4}
部分匹配genie\\grogan\\doc
行的末尾加上2或3个更完整的行。 (3 FILE ... )3 _TYPE PHOTO$
部分匹配两个指定的字符串,并且括号括起除了要替换的行之外的所有文本。替换字符串中的\1
插入捕获的文本,字符串的其余部分是所需的新文本。
在测试线上使用Notepad ++ 6.3.2进行测试。
根据您的行结尾,您可能需要调整查找内容字符串的\r\n
部分。这些示例并未涵盖所有选项,因此您可能还需要将{3,4}
部分更改为{4,5}
,具体取决于“的确切含义,只有在之后 { EM>“
答案 1 :(得分:0)