用Python实现电视节目标题的字符串处理

2024-10-04 03:23:28 发布

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

我有一个包含文件名的字符串,通常包含季节、插曲、质量和发布信息。我正在尝试删除不需要的文本区域,然后在季节和插曲。到目前为止,我已经成功地将这些结合起来:

#!/usr/bin/env python

import re

filenames = [
    "remy.and.papoose.meet.the.mackies.s01e01.1080p.web.x264-tbs", 
    "remy.and.papoose.meet.the.mackies.s01e01.1080p.web.x264-tbs", 
    "Bodyguard.S01E10.720p.iP.WEB-DL.AAC2.0.H.264-BTN", 
    "Empire.2015.S05E01.Steal.From.the.Thief.1080p.AMZN.WEB-DL.DD.5.1.H.264-AJP69", 
    "Better.Call.Saul.S04E09.720p.HDTV.x264-AVS"
]

for filename in filenames:

    filename = filename.replace(".", " ").lower()
    stringRemove = re.sub('.*[s|S][0-9]{2}[e|E][0-9]{2}', '', filename)
    cleanFilename = filename.replace(stringRemove, "")

    print(cleanFilename)

这个代码有效。你知道吗

编辑:我想知道是否可以改进regex,以捕获我可能没有想到的文件名字符串的任何变体?是否有人必须对名称中包含季节、剧集、质量和发行版的文件名进行字符串替换?你知道吗


Tags: andthe字符串re文件名质量filename插曲
1条回答
网友
1楼 · 发布于 2024-10-04 03:23:28

我已经回答了自己的问题,并用示例代码对其进行了更新。你知道吗

#!/usr/bin/env python

import re

filenames = [
    "remy.and.papoose.meet.the.mackies.s01e01.1080p.web.x264-tbs", 
    "remy.and.papoose.meet.the.mackies.s01e01.1080p.web.x264-tbs", 
    "Bodyguard.S01E10.720p.iP.WEB-DL.AAC2.0.H.264-BTN", 
    "Empire.2015.S05E01.Steal.From.the.Thief.1080p.AMZN.WEB-DL.DD.5.1.H.264-AJP69", 
    "Better.Call.Saul.S04E09.720p.HDTV.x264-AVS"
]

for filename in filenames:

    filename = filename.replace(".", " ").lower()
    stringRemove = re.sub('.*[s|S][0-9]{2}[e|E][0-9]{2}', '', filename)
    cleanFilename = filename.replace(stringRemove, "")

    print(cleanFilename)

相关问题 更多 >