繁体   English   中英

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

[英]Adding a line break after certain set of characters in Python

我有一个这样的文本文件,其中包含以下内容:

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 """
(?m) (?<!^)(?=\d+\.) 

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

演示

在python中,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM