用一个空格替换所有空格,并用一个换行替换所有新行

时间:2019-11-16 09:52:38

标签: regex python-3.x

我需要用一个新行和一个空格来替换字符串中的所有新行和空格,目前我正在使用:

data=' '.join(data.split())

将所有事物(换行和空格)替换为一个空格。

我也使用了以下内容:

data = re.sub(r'\n\s*\n', '\n\n', data)
data = data.replace('\n', '')
data = re.sub(r"''", "'\n'", data)
data = re.sub(r'\s+', ' ', data)
re.sub(' +', ' ', data)

但是没有我想要的东西。

部分示例字符串:

Sonderforschungsbereiche
                              laufende Projekte
                                                     

                                         
                                        SFB 806: Unser Weg nach Europa: Kultur-Umwelt Interaktion und menschliche Mobilität im Späten Quartär


                                                                                            (Sprecher
                                                                                                                                                         
                                                         Richter, Jürgen

                                                                                                )


                                             



                                                     

                                         
                                        SFB 917: Resistiv schaltende Chalkogenide für zukünftige Elektronikanwendungen: Struktur,
Kinetik und Bauelementskalierung  "Nanoswitches"


                                                                                            (Sprecher
                                                                                                                                                         
                                                         Wuttig, Matthias

                                                                                                )

预期结果:

Sonderforschungsbereiche
laufende Projekte   
SFB 806: Unser Weg nach Europa: Kultur-Umwelt Interaktion und menschliche Mobilität im Späten
Quartär   (Sprecher Richter, Jürgen )   
SFB 917: Resistiv schaltende Chalkogenide für zukünftige
Elektronikanwendungen: Struktur, Kinetik und "Nanoswitches"
(Sprecher Wuttig, Matthias )

1 个答案:

答案 0 :(得分:1)

这将用单个换行符替换所有多个换行符,然后用可选的空格替换所有换行符,并用单个空格替换所有多个换行符:

  • 查找:(\n)+\s*|(\s)+
  • 替换:\1\2

relevant man page