在Python中的某些字符集后添加换行符

时间:2018-04-19 09:49:31

标签: python regex

我有一个这样的文本文件包含这样的内容:

my_text=     """
    Giovinni Enrico
    I GIO MORET FMJ
    1.Air Jordan 2.Nike 3.Prada
    4.Dolce & Gabbana 5.2.2.Diesel
    Adriana Cazetto
    ADRE CX GF 1.Air Jordan 
    2.Adidas 3.LV
    4.2.8. Gucci """

我从文本文件中读取它们,我想在数字后面添加一个新行。这是我目前的代码:

import re
#for folder, subfolders, filenames in os.walk(directory):
my_file = open("October 2014.txt", "r")
content = my_file.read()
my_list = list(range(1, 21))
my_real_list = []
for number in my_list:
    x = str(number) + "."
    my_real_list.append(x)
if any((c in my_real_list) for c in content):
     line = content.replace(c, "\n"+str(c))

我如何获得以下输出并将其写入新的文本文件?

my_text=     """
    Giovinni Enrico
    I GIO MORET FMJ
    1.Air Jordan 
    2.Nike 
    3.Prada
    4.Dolce & Gabbana 
    5.2.2.Diesel
    Adriana Cazetto
    ADRE CX GF 
    1.Air Jordan 
    2.Adidas 
    3.LV
    4.2.8.Gucci """

1 个答案:

答案 0 :(得分:1)

(?m) (?<!^)(?=\d+\.) 

您可以尝试使用此正则表达式来匹配要替换为换行符的字符\ n

Demo

在python中,

new_content=re.sub(r'(?m) (?<!^)(?=\d+\.)','\n', content)