2009-12-14 29 views
0

我有一些配置文件,每行數百行數據。開始每一個新的行與一個字符(除非它已經開始與該字符)

我想用英鎊符號('#')開始每行(回車後),除非它已經以英鎊符號開始。我不想做一個查找+替換,因爲我有文件的其他評論部分不是一行的開始。

因此,舉例來說,這樣的:

Some data #some comment 
Some more data #some other comment 
Even more data 
#some line comment 

會變成:

#Some data #some comment 
#Some more data #some other comment 
#Even more data 
#some line comment 

回答

6

使用搜索 - >替換功能,但把它放在正則表達式模式匹配上線起點:

Find What: ^([^#].*) 
Replace With: #\1 

這將匹配一條線和其中的所有內容,將其放入\1,然後替換它與#接着放入\1(整行)。

+0

謝謝! 這個工程,當我點擊「替換」,但當我點擊「全部替換」說:「正則表達式搜索形成嚴重」時,它喊我。有什麼想法嗎? – mheathershaw 2009-12-14 22:50:54

+0

嗯。我只是自己嘗試過,並且全部替換都正常。你使用的是什麼版本的NPP? – Amber 2009-12-14 22:53:49

+0

它是5.6.1版本。 – mheathershaw 2009-12-14 22:55:14

1

嘗試找到與這個表達式替換(在正則表達式模式):

^([^#]) 

#\1全部更換。 (編輯與DAV的反饋 - !感謝)

+0

該死的,只是不夠快:) – Skilldrick 2009-12-14 22:42:57

+0

只有一個問題與你的正則表達式 - 它會取代線上的第一個字符,而不是隻是前置一個'#'。您需要在該['##]'周圍放置一個捕獲組,然後將捕獲的字符添加到替換項中。 – Amber 2009-12-14 22:45:10

+0

或者你可以做一個前瞻性的向前看。 – 2009-12-14 23:00:32

0
  1. 更改語言Perl的(ALT,L,P,降檔)
  2. 全選(CTRL-A)
  3. 塊註釋(CTRL-Q)
  4. 更改語言返回

編輯:沒關係。不會忽略已經註釋過的行。好吧。

相關問題