Notepad++中如何替换第一行和最后一行?
How do you replace the first and last line in Notepad++?
我正在尝试创建一个宏来进行一些替换,并在最后删除文档中的第一行和最后一行,但我遇到了死胡同。有什么建议吗?
单个正则表达式替换可以做到这一点。
删除第一行和最后一行:Select 点匹配换行,select 环绕和将查找内容设置为
\`[^\r\n]*[\r\n]+(.*[\r\n]+)[^\r\n]+[\r\n]*\'
设置替换为
我的测试有时需要按两次 查找下一个。第一个发现,出于某种未知原因,只匹配从缓冲区中间的某个地方到最后。
正则表达式解释如下:
\` Start of buffer
[^\r\n]* First line, zero or more characters
[\r\n]+ Line separator
(.*[\r\n]+) Central part of buffer
[^\r\n]+ Line separator before the last line
[\r\n]* Optional line separators at end of buffer
\' End of buffer
问题没有说明如何处理文件的第二行为空。上面的 [\r\n]+
将删除第一行之后的所有空行。类似地,缓冲区末尾附近空行的处理可能不完全符合要求。将 [\r\n]+
都更改为 \R
可能是对所需内容的更严格解释。
对于修改第一行和最后一行的一般情况,将 Find what 设置为:
\`([^\r\n]*)([\r\n]+.*[\r\n]+)([^\r\n]+)([\r\n]*)\'
设置替换为
First First\r\n\r\n\r\n\r\nLast Last
已使用 Notepad++ 版本 6.7.8.2 进行测试
在录制宏时按这些键...
Ctrl+Home
Shift+Down
Backspace
Ctrl+End
Shift+Home
Backspace
Backspace
这将删除文档的第一行和最后一行。
我正在尝试创建一个宏来进行一些替换,并在最后删除文档中的第一行和最后一行,但我遇到了死胡同。有什么建议吗?
单个正则表达式替换可以做到这一点。
删除第一行和最后一行:Select 点匹配换行,select 环绕和将查找内容设置为
\`[^\r\n]*[\r\n]+(.*[\r\n]+)[^\r\n]+[\r\n]*\'
设置替换为
我的测试有时需要按两次 查找下一个。第一个发现,出于某种未知原因,只匹配从缓冲区中间的某个地方到最后。
正则表达式解释如下:
\` Start of buffer
[^\r\n]* First line, zero or more characters
[\r\n]+ Line separator
(.*[\r\n]+) Central part of buffer
[^\r\n]+ Line separator before the last line
[\r\n]* Optional line separators at end of buffer
\' End of buffer
问题没有说明如何处理文件的第二行为空。上面的 [\r\n]+
将删除第一行之后的所有空行。类似地,缓冲区末尾附近空行的处理可能不完全符合要求。将 [\r\n]+
都更改为 \R
可能是对所需内容的更严格解释。
对于修改第一行和最后一行的一般情况,将 Find what 设置为:
\`([^\r\n]*)([\r\n]+.*[\r\n]+)([^\r\n]+)([\r\n]*)\'
设置替换为
First First\r\n\r\n\r\n\r\nLast Last
已使用 Notepad++ 版本 6.7.8.2 进行测试
在录制宏时按这些键...
Ctrl+Home
Shift+Down
Backspace
Ctrl+End
Shift+Home
Backspace
Backspace
这将删除文档的第一行和最后一行。