如何使用Python中的正则表达式用一个换行符替换连续的换行符?
输入:Hello \ n \ n \ n \ n \ n \ nWorld
输出:Hello \ nWorld
请注意,' \'之间有空格。和' n'。
答案 0 :(得分:1)
你可以在没有正则表达式的情况下做到这一点:
data = "Hello\n\n\n\n\nWorld"
output = '\n'.join(line for line in data.split() if line)
print(output)
Hello
World
答案 1 :(得分:1)
根据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
+
量词将匹配该序列的所有连续匹配