如何在日食中搜索回车

时间:2009-09-08 00:29:54

标签: eclipse editor text-editor

如果我的日食编辑器中有以下文字:

Text Line 1
Text Line 2

我想将文本连接成:

Text Line 1Text Line 2

我的第一个想法是搜索回车字符'\ n'并将其替换为''以连接它。

我尝试使用eclipse的搜索功能,但它无法识别回车符。

还有其他编辑可以做到吗?

谢谢=)

5 个答案:

答案 0 :(得分:62)

如果您执行以下操作,Eclipse会执行以下操作:

  • 在搜索/替换中启用正则表达式模式
  • 输入\ R作为换行符

答案 1 :(得分:8)

只需使用Edit -> Find/Replace,启用Regular Expressions复选框,搜索\n并将其替换为空格。

我在Eclipse 3.4中尝试过,它运行良好。

答案 2 :(得分:2)

编辑器中的大多数查找和替换任务(至少是TextPad)都可以通过正则表达式进行替换。如果你能在eclipse中找到这个选项,那就用吧。

答案 3 :(得分:1)

\ r \ n是回车的正确正则表达式。但是Eclipse标准编辑器没有找到它。 所以使用外部编辑器,例如notepad ++

答案 4 :(得分:1)

简短回答

我决定在多行搜索表达式(启用正则表达式)和\s++中使用\Qfoo\E作为分隔符,以便在需要时转义特殊字符。

答案很长

soru已经回答时,对于任何“Unicode换行序列”,可以使用\R的正则表达式搜索。

纯回车由\r表示。大小写有所不同。

我发现了这个问题,因为我想在Eclipse中搜索多行表达式,包括换行符和制表符:

    @Override
    @Transient

为了在我使用的常规搜索表达式中包含空格(在Windows平台上)

@Override\r\n\t*@Transient

以下表达式也有效:

  • @Override\R\t*@Transient
  • @Override\s++@Transient

请注意第二个表达式也匹配@Override @Transient 没有换行,这对我来说没问题。

以下表达没有!为我工作:

  • @Override\r\t*@Transient
  • @Override\n\t*@Transient

一些正则表达式的解释:

  • \R表示任何unicode换行符序列(例如\r\n
  • \s代表任何空格
  • \t代表一个标签
  • *匹配零次或多次
  • ++匹配一次或多次出现
  • \Q\E转义包装内容。如果原始多行表达式包含特殊的正则表达式字符,请使用它们,例如

\Q/**\E\s++\Q*\E

匹配

    /**
     *

另见:

Difference between \n and \r?

https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html