101

我正在清理一些代码文件 (C#) 并希望删除这些区域。我想删除所有具有字符串'#region'的行。这只是一个例子,我可以想到更多的用途,但这可能吗?

4

8 回答 8

289

记事本++ v6.5

  1. Search menu -> Find... -> Mark tab -> Find what: your search text,检查Bookmark Line,然后Mark All。这将使用搜索词为所有行添加书签,您会在边缘看到蓝色圆圈。

  2. 然后Search menu -> Bookmark -> Remove Bookmarked Lines。这将删除所有带书签的行。

您还可以使用正则表达式进行搜索。这种方法不会产生像 John 那样的空行,实际上会删除该行。

旧版本

  1. Search menu -> Find... -> Find what: your search text,检查Bookmark Line并单击Find All
  2. 然后搜索->书签->删除书签行
于 2009-05-27T22:00:30.573 回答
39

您可以使用菜单搜索->替换... ( Ctrl+ H)。

它具有用于替换的正则表达式功能。您可以使用匹配#region 的正则表达式以及该行中的任何其他内容,并将其替换为空白。

于 2009-05-27T21:47:42.237 回答
5

这是我用来更新代码的 Notepad++ 最常见的功能。

您需要做的就是:

  • 选择所有行中都存在的公共字符串。
  • Ctrl+F
  • 标记选项卡中,粘贴重复出现的字符串并选中书签行复选框。
  • 点击Mark All
  • 现在转到菜单搜索书签删除书签行

您可以参考此链接进行图片说明。

http://www.downloadorinstall.com/best-notepad-tips-and-tricks-for-faster-work-and-development/

于 2017-07-22T11:17:10.547 回答
4

这是一种完全删除包含“YOURTEXT”的行的方法:

  • 打开替换对话框
  • 输入以下搜索字符串:(.*YOURTEXT.*[\r]?[\n]将 YOURTEXT 替换为您的文本)
  • 启用“正则表达式”
  • 禁用“。匹配换行符”

给定的正则表达式匹配 Windows 和 Unix 的行尾。

如果您的文本包含对正则表达式具有特殊含义的字符,例如反斜杠,您将需要对它们进行转义。

于 2017-02-10T11:05:33.587 回答
2

Jacob 对 John T 的回复完美地删除了整行,您可以使用它在文件中查找。确保检查底部的“正则表达式”。

解决方案:^.*#region.*$

于 2011-08-24T01:12:19.673 回答
1

调查什么是您的 EOL,\n 或 \r\n。然后.*#region.*\r\n在正则表达式模式下替换为空。

于 2013-02-22T19:28:52.860 回答
0

您可以尝试用\n 替换#region,打开扩展搜索模式。

于 2009-05-27T21:47:08.540 回答
0

使用 regex 和 find&replace,您可以删除所有包含 #region 的行,而不会留下空行。因为由于某种原因,Ray 的方法在我的机器上不起作用,所以我搜索(.*#region.*\n)|(\n.*#region.*)并将替换框留空。

该正则表达式确保#region在第一行找到 if ,则删除结束换行符,如果在最后一行找到它,则删除前面的换行符。

不过,如果 Ray 的解决方案适合您,它会是更好的解决方案。

于 2013-09-18T15:39:32.620 回答