如果Python中有多个空格,请插入换行符

时间:2019-03-21 18:50:47

标签: python

我正在尝试在Python中插入换行符,如果我在文本中遇到多个空格,我想替换为一个空格和一个换行符。我的数据存储在Excel单元格中。这就是我的代码的样子,

import pandas as pd
import re
def excelcleaner(textstring):
    return textstring.replace("  ","\n")

df = pd.read_excel("lbook.xlsx")
df["clean_content"] = df["uncleaned_content"].apply(excelcleaner)
df.to_excel("lbook.xlsx") 

现在,它用换行符替换指定的空格(现在是2)。我该如何修改它,以便它检测空格数并用单个换行符代替。

1 个答案:

答案 0 :(得分:3)

您可以从正则表达式模块中使用re.sub

import re

def excelcleaner(textstring):
    # This will find any 2 or more spaces and replace with a newline char
    return re.sub('\s{2,}', '\n', textstring)

mystr = "abc 123  efg   111"
print(excelcleaner(mystr))

abc 123
efg
111

如果您不熟悉正则表达式语法,则\s是空白字符,{<min>, <max>}是范围指示符。 {2,}说找到两个或多个事件