我正在整理一些C#代码文件,希望删除其中的代码区域(region)。我想删除所有包含字符串“#region”的行。这只是个例子,我还可以想到其他几种用途,但这是否可能呢?
我正在整理一些C#代码文件,希望删除其中的代码区域(region)。我想删除所有包含字符串“#region”的行。这只是个例子,我还可以想到其他几种用途,但这是否可能呢?
Notepad++ v6.5
搜索菜单 -> 查找... -> 标记选项卡 -> 在“查找内容”中输入:您要查找的文本,勾选 标记行 ,然后选择全部标记。这将为所有包含搜索词的行添加书签,并在边栏显示蓝色圆圈。
然后在搜索菜单中选择书签 -> 删除已标记行。这将删除所有被书签标记的行。
您也可以使用正则表达式进行搜索。这种方法不会像John的方法一样留下空行,而且实际上会删除该行。
旧版
您可以使用菜单搜索 -> 替换... (Ctrl + H)。
它具有替换的正则表达式功能。您可以使用与#region匹配以及在该行上的其他内容的正则表达式,并将其替换为空格。
这是Notepad++最常用的功能,我用它来更新我的代码。
您只需要:
您可以参考此链接以获得图片解释。
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.*$
.*#region.*\r\n
。使用正则表达式和查找替换,您可以删除所有包含 #region 的行而不留下空行。
因为由于某种原因 Ray 的方法在我的机器上无法工作,我搜索了 (.*#region.*\n)|(\n.*#region.*)
并将替换框留空。
该正则表达式确保如果 #region
在第一行中找到,则删除结尾的换行符,如果在最后一行中找到,则删除前面的换行符。
不过,如果 Ray 的解决方案适用于您,那么它仍然是更好的选择。
您可以尝试使用替换功能,将 #region 替换为 \n,并打开扩展搜索模式。