2014-12-04 45 views
3

我试图将几行字母折叠为一行。在行尾找到任何字母,删除换行符而不替换目标

>8445125 
VSSSDEQPRPRRS 
RNQDRQHPNQNRP 
VLGRTERDRNRRQ 
FGQNFLRDRKTIA 


>8445125 
VSSSDEQPRPRRSRNQDRQHPNQNRPVLGRTERDRNRRQFGQNFLRDRKTIA 

我试图正则表达式查找[A-Z] \ n上与空白替换。问题是它会删除每行结尾的S,P Q和A.我需要这样做而不删除这些字母。

在给定的文件中,我会有> 1000以上。

+0

为什么不只是替换'\ n'或'\ n $'? – 2014-12-04 00:49:00

+0

否则,如果你想确保换行符之前的字符在'[A-Z]'中,请尝试一个正向lookbehind'(?<= [A-Z])\ n',因为这是一个零宽度断言 – 2014-12-04 00:51:34

回答

3

您可以将正则表达式更改为以下内容。 \K转义序列重置报告的匹配的起始点,并且不再包含任何以前消耗的字符。

Find: [A-Z]\K\n 
+0

完美。谢谢。 – Andrew 2014-12-04 00:55:46

+0

还不能。时限。 [A-Z] \ K \ n工作得很好。 \ n不起作用,因为它会在序列(字母)之前立即放入数字(这是名称) – Andrew 2014-12-04 01:01:05

+0

噢,现在我可以更清楚地理解它了。很高兴我能帮上忙。 – hwnd 2014-12-04 01:02:37