2009-05-27 151 views
90

我正在清理一些代碼文件(C#)並且想要刪除區域。我想刪除所有包含字符串'#region'的行。這僅僅是一個例子,我可以想到更多的用途,但是甚至有可能嗎?如何刪除Notepad ++上的特定行?

+2

我很想投票這個問題是題外話......它主要是記事本++,具體的工作模式的問題,但並不一定編程有關:/ – 2014-12-09 14:44:11

+0

@AndreasNiedermair同意 – displayname 2014-12-09 14:54:41

回答

37

您可以使用菜單搜索 - >替換...按Ctrl + H)。

它具有替換的正則表達式功能。您可以使用與#region匹配的正則表達式以及該行上的其他任何內容,並將其替換爲空白空間。

+9

我認爲^。*#region。* $將工作 – 2009-05-27 21:53:59

+0

謝謝,我這樣做,它的工作原理。但是現在我試圖用\ n \ n來替換\ n \ n,但似乎沒有用,有什麼想法? – Rismo 2009-05-27 21:59:24

+1

使用擴展搜索替換轉義序列(正則表達式上方的單選按鈕) – 2009-05-27 22:05:16

0

您可以嘗試用\ n替換#region,將擴展搜索模式開啓。

+2

OP說,他想「刪除所有行」,你會換一個新行 – felickz 2011-10-07 12:49:04

262

記事本++ V6.5

  1. 搜索菜單 - >查找... - >馬克選項卡 - >查找內容:搜索文本,檢查書籤行,然後馬克全部。這會將搜索字詞的所有行標記爲書籤,您會在邊距中看到藍色圓圈。

  2. 然後搜索菜單 - >書籤 - >刪除書籤線。這將刪除所有加入書籤的行。

您也可以使用正則表達式進行搜索。這種方法不會像John那樣產生空白行,並且實際上會刪除該行。

舊版

  1. 搜索菜單 - >查找... - >查找內容:搜索文本,檢查收藏行,然後單擊查找所有
  2. 然後搜索 - >書籤 - >刪除書籤線
1

雅各約翰回覆這封完美的作品,刪除整條生產線,並可以在文件中與查找。確保檢查底部的「正則表達式」。

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

1

調查什麼是你的EOL,\ n或\ r \ n。然後用regexpr模式替換.*#region.*\r\n

0

使用正則表達式並找到&替換你可以刪除所有包含#地區的行而不留空行。 因爲某些原因,Ray的方法在我的機器上不起作用,我搜索了(.*#region.*\n)|(\n.*#region.*),並將替換框留空。

這個正則表達式保證,如果在第一行發現#region,結尾換行符被刪除,並且如果在最後一行發現它,則刪除前面的換行符。

不過,雷的解決方案是更好的,如果它適合你。

2

這是一種方式,刪除線包含「YOURTEXT」完全:

  • 打開替換對話框
  • 輸入以下搜索字符串:.*YOURTEXT.*[\r]?[\n](與你的文本替換YOURTEXT)
  • 啓用「正則表達式 「
  • 禁用」。匹配換行符」

給定邊條r表達式匹配Windows和Unix行尾。

如果您的文本包含對正則表達式有特殊含義的字符,如反斜槓,則需要將其轉義。

相關問題