2014-01-15 31 views
1

我想使用Xcode的查找和替換正則表達式通過刪除在我的代碼不必要的空白行代替兩個空行。換句話說,我要取代這個:正則表達式用一個空行

NSString *helloString = @"Hello"; 


helloString = [helloString stringByAppendingString:@" World"]; 

有了這個:

NSString *helloString = @"Hello"; 

helloString = [helloString stringByAppendingString:@" World"]; 

我試着輸入控制+ Q回報控制+ Q在搜索框中回報(通過this answer的啓發,但它沒有匹配。

瓦在正則表達式應該是什麼?

回答

1

我不知道正則表達式非常好。我只是使用簡單的查找和替換文字字符串。將光標放在一行的最後一個字符上並按右移箭頭選擇換行符,選擇一個空行。然後出現一個替換對話框並將2個空白行粘貼到查找字段中,並將1個空白行粘貼到替換字段中。從源空行的

+0

謝謝。這適用於空行中沒有製表符或空格的情況。 – Eric

2

拷貝2,按APPLE-OPTION-F以顯示搜索欄和兩行粘貼到第一個字段。 然後進入第二個字段,然後輸入OPTION回報

然後點擊右邊

替換按鈕,請注意,這僅與同indendation /空間/製表符作爲您複製的行線相匹配。如果您需要更靈活的東西,請使用支持regexen的文本編輯器。 可能的正則表達式可能類似於「\ n。* \ n」

+0

謝謝。這適用於空行中沒有製表符或空格的情況。 – Eric

+0

請注意,Xcode不支持正則表達式(請參閱我在問題中鏈接的答案)。我試着搜索'\ n。* \ n',但是沒有返回任何匹配。 – Eric

1

Xcode不支持來自Apple員工#8 Chris Espinoza的this mailing-list posting多行的正則表達式匹配。

你可以做兩個步驟:

  1. 做這樣的正則表達式搜索,從否則空行刪除空白字符:

    • 查找:^\s+$
    • 更換:留着空白。
  2. 做一個文本(非正則表達式)搜索這樣的,有一個更換兩個空行:

    • 選擇兩個空行,去編輯>查找>查找所選(命令-E)
    • 選擇一個空行,去編輯>查找>使用所選替換(命令移-E)
+0

用'nothing'替換'^ \ s + $'會刪除*全部*空行,所以在第二步中沒有剩餘的空行可供選擇... – Eric

+0

我沒有在Xcode 4.3中得到這個結果。我猜這是可能的,他們已經改變了最近版本的行爲... 嘗試將Find模式更改爲'^ \ s +()$',並將模式替換爲'\ 1'。 –

0

對於這樣的任務和其他格式化也許你想檢查uncrustifyX,它很容易使用和廣泛。