如果我的日食编辑器中有以下文字:
Text Line 1
Text Line 2
我想将文本连接成:
Text Line 1Text Line 2
我的第一个想法是搜索回车字符'\ n'并将其替换为''以连接它。
我尝试使用eclipse的搜索功能,但它无法识别回车符。
还有其他编辑可以做到吗?
谢谢=)
答案 0 :(得分:62)
如果您执行以下操作,Eclipse会执行以下操作:
答案 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
匹配
/**
*
另见:
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html