【发布时间】:2017-06-20 16:45:18
【问题描述】:
假设我想在我的项目中删除与正则表达式匹配的所有行。有没有办法做到这一点?
我尝试过使用启用正则表达式的全局查找和替换功能:
将
foo|bar替换为空字符串。这不起作用,因为它在那里留下了一个空字符串。我想删除换行符。将
(foo|bar)\n替换为空字符串。这实际上不匹配任何东西。将
(foo|bar)$替换为空字符串。同样,什么都不匹配。
有什么想法吗?
编辑:我的一些文件似乎有 Windows 行结尾,所以 (foo|bar)\r?\n 确实匹配。但是,当您将其替换为空字符串时,它实际上仍将行尾保留在那里。
这是一个测试用例:
a
foo
b
应该是这样的:
a
b
不是这样的:
a
b
【问题讨论】:
-
“当你用一个空字符串替换它时,它实际上仍然把行尾留在那里”——这对我来说是预期的:i.imgur.com/7C4QES2.gifv
-
如果您在
^(?:foo|bar)\s*上进行查找和替换怎么办? -
相关无回答:Replace line breaks
-
@Gama11:在单文件查找和替换中。我的意思是 global (左侧的放大镜)。不确定它的正式名称。