如何使用Python中的正则表达式将单个换行符替换为连续的换行符?
输入:Hello \ n \ n \ n \ n \ n \ nWorld
输出:Hello \ nWorld
请注意,'\'和'n'之间有一个空格。
根据OP的评论,输入没有\n
但\ n
>>> s=r'Hello \ n \ n \ n \ n \ n \ nWorld'
>>> print(s)
Hello \ n \ n \ n \ n \ n \ nWorld
>>> re.sub(r'( \\ n)+', r'\1', s)
'Hello \\ nWorld'
>>> print(re.sub(r'( \\ n)+', r'\1', s))
Hello \ nWorld
( \\ n)
将匹配一个空格,然后是\
,然后是空格,然后是字符n
+
量词将匹配该序列的所有连续匹配没有正则表达式就可以做到:
data = "Hello\n\n\n\n\nWorld"
output = '\n'.join(line for line in data.split() if line)
print(output)
Hello
World