背景
网上看到很多关于notepad整行替换的内容,但是都感觉讲的不是很清楚 ,今天详细记录下。
基础知识
在说notepad整行替换之前首先要明确各系统之间不同的行尾符:
Windows:\r\n
Linux:\n
Mac:\r
上面提到的\r
(即回车符)英文缩写为CR,\n
(即换行符)英文缩写为LF。
明确了基础概念后,我们就可以明白很重要的一点:windows下打开的文件不一定都是以\r\n
结尾的(因为可能该文件是从Linux上复制过来的),那么我们怎么在notepad中区分该文件的行位符呢?
notepad整行替换
- notepad中有现成功能进行区分,点击
视图
->显示行尾符
,就可以把所有行尾符显示出来了,很显然这个文件是从Linux下复制过来的。
- 如果想要把该文档格式转为Windows格式,可以选择
编辑
->文档格式转换
->转换为Wdinwos格式
。同理,如果windows文件需要复制到Linux下,要转为UNIX格式(Linux中打开文件显示^M这种情况以及make命令编译报错都属于这种情况)。
另外经过实测,使用这种方法比直接正则批量替换更高效,否则很容易出现notepad卡死崩溃的情况
- 目前该文档中有很多单字母或数字占用整行的情况,我想把所有这样的行替换掉,即该行直接删除,而且该行的下一行会直接顶掉替换的这行。
使用正则:^\w{1}\n
进行匹配,替换的地方什么都不用填,即空字符,点击全部替换即可。
4.如果想对正则匹配到的内容取反,可以使用?!
表达式,比如我想对所有百度及其子域名取反,可以用正则:^(?!.*\.baidu\.com).*$
结论
使用notepad替换内容前,需要先确认文档的行尾符,再通过正则进行批量替换