我正在清理一些代码文件 (C#) 并希望删除这些区域。我想删除所有具有字符串'#region'的行。这只是一个例子,我可以想到更多的用途,但这可能吗?
8 回答
记事本++ v6.5
Search menu -> Find... -> Mark tab -> Find what: your search text,检查Bookmark Line,然后Mark All。这将使用搜索词为所有行添加书签,您会在边缘看到蓝色圆圈。
然后Search menu -> Bookmark -> Remove Bookmarked Lines。这将删除所有带书签的行。
您还可以使用正则表达式进行搜索。这种方法不会产生像 John 那样的空行,实际上会删除该行。
旧版本
- Search menu -> Find... -> Find what: your search text,检查Bookmark Line并单击Find All。
- 然后搜索->书签->删除书签行
您可以使用菜单搜索->替换... ( Ctrl+ H)。
它具有用于替换的正则表达式功能。您可以使用匹配#region 的正则表达式以及该行中的任何其他内容,并将其替换为空白。
这是我用来更新代码的 Notepad++ 最常见的功能。
您需要做的就是:
- 选择所有行中都存在的公共字符串。
- 按Ctrl+F
- 在标记选项卡中,粘贴重复出现的字符串并选中书签行复选框。
- 点击Mark All
- 现在转到菜单搜索→书签→删除书签行
您可以参考此链接进行图片说明。
http://www.downloadorinstall.com/best-notepad-tips-and-tricks-for-faster-work-and-development/
这是一种完全删除包含“YOURTEXT”的行的方法:
- 打开替换对话框
- 输入以下搜索字符串:(
.*YOURTEXT.*[\r]?[\n]
将 YOURTEXT 替换为您的文本) - 启用“正则表达式”
- 禁用“。匹配换行符”
给定的正则表达式匹配 Windows 和 Unix 的行尾。
如果您的文本包含对正则表达式具有特殊含义的字符,例如反斜杠,您将需要对它们进行转义。
Jacob 对 John T 的回复完美地删除了整行,您可以使用它在文件中查找。确保检查底部的“正则表达式”。
解决方案:^.*#region.*$
调查什么是您的 EOL,\n 或 \r\n。然后.*#region.*\r\n
在正则表达式模式下替换为空。
您可以尝试用\n 替换#region,打开扩展搜索模式。
使用 regex 和 find&replace,您可以删除所有包含 #region 的行,而不会留下空行。因为由于某种原因,Ray 的方法在我的机器上不起作用,所以我搜索(.*#region.*\n)|(\n.*#region.*)
并将替换框留空。
该正则表达式确保#region
在第一行找到 if ,则删除结束换行符,如果在最后一行找到它,则删除前面的换行符。
不过,如果 Ray 的解决方案适合您,它会是更好的解决方案。