正则表达式用一个空行替换两个空行

时间:2014-01-15 14:23:35

标签: regex macos cocoa

我想使用Xcode的查找和替换正则表达式来删除我的代码中不必要的空白行。换句话说,我想替换它:

NSString *helloString = @"Hello";


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

有了这个:

NSString *helloString = @"Hello";

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

我尝试在搜索框中输入 control + q return control + q return (灵感来自{ {3}}但它与任何东西都不匹配。

正则表达式应该是什么?

4 个答案:

答案 0 :(得分:2)

从源中复制2个空行,按APPLE-OPTION-F显示搜索栏并将两行粘贴到第一个字段中。 然后转到第二个字段并输入OPTION-RETURN

然后点击右侧的替换按钮

请注意,这仅匹配与复制的行具有相同的indendation / spaces / tabs的行。如果你需要更灵活的东西,最好使用支持regexen的texteditor。 正如可能的正则表达式可能是“\ n。* \ n”

答案 1 :(得分:1)

我不太了解正则表达式。我只是使用简单的查找和替换文字字符串。将光标放在一行的最后一个字符上,然后按右箭头键选择换行符,选择一个空行。然后调出替换对话框并将2个空行粘贴到查找字段中,并将1个空行粘贴到替换字段中。

答案 2 :(得分:1)

Xcode不支持多个行的正则表达式匹配,每个this mailing-list posting来自Apple员工#8 Chris Espinoza。

您可以执行两个步骤:

  1. 执行这样的正则表达式搜索,从其他空行中删除空白字符:

    • 查找:^\s+$
    • 替换:留空。
  2. 像这样进行文本(非正则表达式)搜索,用一个替换两个空行:

    • 选择两个空行,然后转到编辑>查找>使用选择查找(Command-E)
    • 选择一个空行,然后转到编辑>查找>使用选择替换(Command-Shift-E)

答案 3 :(得分:0)

对于此类任务和其他格式,您可能需要查看uncrustifyX,它非常易于使用和广泛。