【问题标题】:Replace all spaces with only one space and all the new lines with only one new line用一个空格替换所有空格,用一个新行替换所有新行
【发布时间】:2019-11-16 09:52:38
【问题描述】:

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

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 )

【问题讨论】:

标签: regex python-3.x


【解决方案1】:

这将用一个换行符替换所有多个换行符,后跟可选空格,用一个空格替换所有多个空格:

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

Demo & explanation

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多