我有一个庞大的文本文档(使用VS Code),看起来像这样,并以相同的模式继续运行了数千行。本质上,我们有一个整数,一个浮点数,总是以0.00开头,然后是四个空行:
468653564
0.0013348548
160919876
0.0015948548
239109587
0.0010948548
190959199
0.0023948548
163220290
0.001348548
我将如何设置此文档的格式以删除空白行和浮点数,所以最终得到的内容如下:
468653564
160919876
239109587
190959199
163220290
这种模式似乎在第一步(0.00.*)
和第二步^$\n
都可以正常工作,但是有没有办法一it而就呢?
答案 0 :(得分:1)
要一次性处理多个正则表达式模式,只需添加一个“或”语句(|
)即可将它们分隔开:
0\.00.*\n|^$\n
因此,这实际上表示查找0.00 ... OR 空行。
一种更为有效的模式可能是寻找数字\d
(不具体针对哪个数字),然后是句点,然后再加上其他数字,因为它应该采取的步骤更少:
^(\n|\d\.\d+\n)
答案 1 :(得分:1)
一种可能性是
S1->S2->S3->S2
并替换为空字符串。它匹配所有以两位数开头的行。
答案 2 :(得分:1)
您可以选择对换行符进行贪婪搜索:
0\.00\d+(\r?\n)*
星星将组修改为“零个或多个”。这与数据末尾缺少的换行符以及要删除的换行符匹配。 \r
被标记为可选,只是为了解决Unix风格与Windows风格之间的差异。模式的其余部分基本上与书写方式相同:找到一个零,然后是一个小数点,然后是一个双零,然后是一个或多个(+
)数字,然后是可选的换行符。