如何以特定方式拆分包含数字和字母的文本?

2024-06-28 14:31:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着在网上找到解决办法。但我没有成功。我想这样分割一段文字:

原来是这样的:

    '16.11., ARD, 20.15 Uhr: „Mein Schwiegervater, der Camper“
    Vor einigen Jahren hat die ARD-Tochter 

    17.11., ARD, 20.15 Uhr: „Tatort: Die Pfalz von oben“
    Natürlich knüpft der Jubiläums-„Tatort“ mit

    18.11., ZDF, 20.15 Uhr: „Stumme Schreie“
    „Erschütternd“ ist als Begriff fast noch zu'

我需要的是:

    ['16.11., ARD, 20.15 Uhr: „Mein Schwiegervater, der Camper“
    Vor einigen Jahren hat die ARD-Tochter',
    '17.11., ARD, 20.15 Uhr: „Tatort: Die Pfalz von oben“
    Natürlich knüpft der Jubiläums-„Tatort“ mit',
    '18.11., ZDF, 20.15 Uhr: „Stumme Schreie“
    „Erschütternd“ ist als Begriff fast noch zu']

我也会喜欢这个选项:

    ['16.11., ARD, 20.15 Uhr'], ['„Mein Schwiegervater, der Camper“
    Vor einigen Jahren hat die ARD-Tochter'],
    ['17.11., ARD, 20.15 Uhr'] ['Tatort: Die Pfalz von oben“
    Natürlich knüpft der Jubiläums-„Tatort“ mit'],
    ['18.11., ZDF, 20.15 Uhr'], ['„Stumme Schreie“
    „Erschütternd“ ist als Begriff fast noch zu']

我怎么去那里? 我尝试了分裂法和其他不同的可能性,但没有成功。。。正则表达式拆分可能是一种选择,但我失败了,因为每行有两个数字

事先谢谢你,维克多


Tags: hatvorderdiearduhrcampermein
2条回答

第一个要求:

import pprint
text = """'16.11., ARD, 20.15 Uhr: „Mein Schwiegervater, der Camper“
Vor einigen Jahren hat die ARD-Tochter 

17.11., ARD, 20.15 Uhr: „Tatort: Die Pfalz von oben“
Natürlich knüpft der Jubiläums-„Tatort“ mit

18.11., ZDF, 20.15 Uhr: „Stumme Schreie“
„Erschütternd“ ist als Begriff fast noch zu'"""

pprint.pprint(text.split('\n\n'))

输出:

['16.11., ARD, 20.15 Uhr: „Mein Schwiegervater, der Camper“\n'
 'Vor einigen Jahren hat die ARD-Tochter ',
 '17.11., ARD, 20.15 Uhr: „Tatort: Die Pfalz von oben“\n'
 'Natürlich knüpft der Jubiläums-„Tatort“ mit',
 '18.11., ZDF, 20.15 Uhr: „Stumme Schreie“\n'
 '„Erschütternd“ ist als Begriff fast noch zu']

第二个要求:

lst = text.split('\n\n')
lst2 = [[elem] for elem in sum((i.split(': ',1) for i in lst), [])]
print(lst2)

输出:

[['16.11., ARD, 20.15 Uhr'],
 ['„Mein Schwiegervater, der Camper“\nVor einigen Jahren hat die ARD-Tochter '],
 ['17.11., ARD, 20.15 Uhr'],
 ['„Tatort: Die Pfalz von oben“\nNatürlich knüpft der Jubiläums-„Tatort“ mit'],
 ['18.11., ZDF, 20.15 Uhr'],
 ['„Stumme Schreie“\n„Erschütternd“ ist als Begriff fast noch zu']]

可以将字符串拆分为两行:

s = open('test', 'r').read()
s.split('\n\n')
Out[38]: 
["'16.11., ARD, 20.15 Uhr: „Mein Schwiegervater, der Camper“\nVor einigen Jahren hat die ARD-Tochter",
 '17.11., ARD, 20.15 Uhr: „Tatort: Die Pfalz von oben“\nNatürlich knüpft der Jubiläums-„Tatort“ mit',
 "18.11., ZDF, 20.15 Uhr: „Stumme Schreie“\n„Erschütternd“ ist als Begriff fast noch zu'"]

然后,如果需要,可以在单个新行(“\n”)或冒号(“:”)上拆分更多内容

相关问题 更多 >