请问emeditor里如何更改换行方式?
已知:
1、这种文本是从qq的聊天记录里导出来的,就会是这样。
2、产生的原因可能是qq聊天记录里导出的文本的换行方式是“仅CR”(即苹果)的方式。这种换行方式在记事本中不支持,所以显示为一行,而emeditor支持,所以显示为多行。
我所想的就是怎样对emeditor进行设置,可以使其不支持cr换行方式,从而使其显示和记事本中一样。
(目的是想利用emeditor的正则式支持\n的查找方式,来进行查找相关内容,因为不确定的多行不方便,如果只有一行聊天记录,查找就会很方便。)
请高手支招啊。
谢谢先。 展开
还好你最后说了目的。
按照你的想法,即使显示成那样,实际换行符依然存在,正则表达式查找时仍然要面对。
而正则表达式匹配多行,不是靠改变显示能解决的。
先开启 EmEditor 正则表达式的[多行模式]:
工具 >> 自定义:[搜索]选项卡:(如图)
◆在图中 999 处填上一个很大的数。
◆注意:图中的中文与原文有异,加了译者自己的理解。EmEditor 的实际表现是这样:
◆在这种[多行模式]下:
\s可以匹配一个换行符。
[\s\S]匹配任意字符,包括换行符。
[\s\S]+?是对任意字符(包括换行符)的最小匹配。
[\s\S]+是对任意字符(包括换行符)的最大匹配(受限于你上面填的数)。
[\w\W]同理。
你还可考虑开启 上图中的另一个选项:
◆这将【进一步】允许正则表达式的.匹配换行符。
◆这样,比上面更进一步:
.也可以匹配换行符。
.+?是对任意字符(包括换行符)的最小匹配。
.+是对任意字符(包括换行符)的最大匹配(受限于你上面填的数)。
▲平时最好关掉[多行模式],以免造成损失。
◆注意: EmEditor “(编辑器内的)查找/替换”与“在文件中查找/替换”(Find/Replace in Files),两者在 [多行模式] 和 换行符处理 方面有不同。
▲这我将在你的另一个问题页中补充说明。请关注:
http://zhidao.baidu.com/question/1173845983578265699
另外,如果不想要换行,可以考虑把\n替换成原文中没有的字符或字符串,比如〓▓★◢◤这样的组合总够强了吧。
这样,处理时就不必开启[多行模式]了。
必要时可以用替换还原换行符。
如果我对你的问题理解有误,请进一步说明。
多行匹配我知道,但多行匹配实在耗资源,而且不能与我的初衷相符。
其实我的目的可以理解为替换掉\r,只替\r,不替\r\n。后来我看帮助,发现em只在“在文件中替换”区分\r与\r\n(我尝试在文件中替换,但超级慢)。
后来我发现ue中的正则式提供只替换\r,所以我在ue中替换后,再用em打开了。达到了目的。
如果全文都是CR格式,那在 EmEditor 中用\n处理即可。
如果是“换行符不一致”的混合格式,没错, Notepad++ 、 UltraEdit 等可以用\r轻松达到你的目的。
其实 EmEditor 对此也不是没有办法。
▲可以借助它的【二进制(16进制视图)】编码方式,加上正则表达式替换。
过程有点烦琐,手动处理单个文件还可以,且只适合概念清晰的熟练用户(因为不同编码的文件,其换行符的16进制编码有差异(0D0A|0D000A00|000D000A|...))。
与其他同类软件的16进制功能相比,EmEditor 的16进制编辑“简单”到了简陋的程度。但简单也有简单的用法。你感兴趣我们再说吧。
EmEditor 的正则处理,效率似乎不及 UltraEdit 。
▲但 UltraEdit 处理中文(多字节文字)有风险,要当心。
另外,效率与正则的写法、做法也很有关系:
复杂的式子当然就慢;
复杂情况应该考虑拆分成简单的步骤,分步进行,效率更高。
2024-10-28 广告