如何在python中从变量中删除某些单词和数字

2024-09-27 21:33:25 发布

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

我制作了一个剧本,取材于该系列的标题,但每个标题都有一年和“onlajn sa prevodom”。年份因系列而异。如何使用python删除年份和“onlajn sa prevodom”

naslov = "Tajkun (2020) onlajn sa prevodom"

Tags: 标题sa年份剧本naslovonlajnprevodomtajkun
3条回答
import re

naslov = "Tajkun (2020) onlajn sa prevodom"

re.sub("\([0-9]{4}\) onlajn sa prevodom", "", naslov)

更多关于re module的信息

使用常规表达式。这就是它们的设计目的

import re
title = "Tajkun (2020) onlajn sa prevodom"
corrected_title = re.sub(r"\s*\(\d+\) onlajn sa prevodom", "", title)

你最好的选择是正则表达式匹配。如果您非常确定字符串将包含这个“(year)onlajn sa prevodom”模式,那么您可以将其作为

pattern = r"\s\([0-9]+\) onlajn sa prevodom" 逐步:

\s表示空白

\([0-9]+\)表示在两个括号之间匹配一个或多个数字

尾随的“onlajn sa prevodom”仅用于匹配,以确保(xxxx)之间的数字后跟短语。下面是一个与您的示例相匹配的简短程序

import re

if __name__ == '__main__':
    expr = r"\s\([0-9]+\) onlajn sa prevodom"
    naslov1 = "Tajkun (2020) onlajn sa prevodom"
    naslov2 = "Tajkun (2019) onlajn sa prevodom"
    naslov3 = "Tajkun (102) onlajn sa prevodom"
    naslov4 = "Tajkun (1990) onlajn sa prevodom"
    print(re.split(expr, naslov1))
    print(re.split(expr, naslov2))
    print(re.split(expr, naslov3))
    print(re.split(expr, naslov4))

输出:

['Tajkun', '']
['Tajkun', '']
['Tajkun', '']
['Tajkun', '']

要获得标题,只需分配re.split()的输出

my_title = re.split(expr, naslov1)[0]
print(my_title)

我强烈建议学习正则表达式。这是一个很好的例子

相关问题 更多 >

    热门问题