簡體   English   中英

正則表達式用一個空行替換兩個空行

[英]Regular expression to replace two blank lines with one blank line

我想使用Xcode的查找和替換為正則表達式來刪除代碼中不必要的空行。 換句話說,我想替換為:

NSString *helloString = @"Hello";


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

有了這個:

NSString *helloString = @"Hello";

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

我嘗試在搜索框中鍵入control + q return control + q return (受此答案啟發,但沒有任何匹配項。

正則表達式應該是什么?

復制源中的2行空行,按APPLE-OPTION-F顯示搜索欄,並將兩行粘貼到第一個字段中。 然后轉到第二個字段並輸入OPTION-RETURN

然后點擊右側的替換按鈕

請注意,這僅匹配與您復制的行具有相同indendation / spaces / tabs的行。 如果您需要更靈活的東西,最好使用支持regexen的texteditor。 正則表達式可能類似於“ \\ n。* \\ n”

我不太了解正則表達式。 我只是使用簡單的查找和替換文字字符串即可。 通過將光標放在行的最后一個字符上並按右移Shift鍵選擇換行符來選擇空白行。 然后彈出一個替換對話框,將2空行粘貼到查找字段中,並將1空行粘貼到替換字段中。

根據蘋果員工#8克里斯·埃斯皮諾薩(Chris Espinoza)的郵件列表 ,Xcode不支持多行正則表達式匹配。

您可以執行兩個步驟:

  1. 進行如下正則表達式搜索,以刪除空白行中的空白字符:

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

    • 選擇兩個空白行,然后轉到“編輯”>“查找”>“使用選擇進行查找”(Command-E)
    • 選擇單個空白行,然后轉到“編輯”>“查找”>“使用選擇進行替換”(Command-Shift-E)

對於此類任務和其他格式,也許您想檢查uncrustifyX ,它非常易於使用且廣泛。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM