我正在编写一个相当简单的python程序来查找和下载特定网站的视频。我希望我的脚本使用页面标题命名该文件,除了页面标题包含我想删除的各种字符串,例如,
The title is:
The Big Bang Theory S09E15 720p HDTV X264-DIMENSION
但标题并不总是一致的,例如,
The title is:
Triple 9 2016 READNFO HDRip AC3-EVO
如果字符串存在,我该如何替换它? 也许创建一个可能字符串的列表或字典,如果它们存在然后删除它们(或用空字符串替换)?我试过并试图找到答案,但找不到任何有助于我的情况的事情。
基本上如果"HDTV", "HDRip", "720p", "X264", etc
存在,那么替换它们否则继续?
答案 0 :(得分:1)
for undesired_word in ("HDTV", "HDRip", "720p", "X264"):
title = title.replace(undesired_word, "")
答案 1 :(得分:0)
title = 'The Big Bang Theory S09E15 720p HDTV X264-DIMENSION'
if 'HDTV' in title:
title = title.replace('HDTV', '')
不是非常pythonic但它会做你想要的
答案 2 :(得分:0)
简单示例:
if
唯一的问题是,如果你想替换一个可能是另一个词的一部分的单词。例如,如果你想用a代替'an',那么这个例子中的字符串将成为'The Big Bag Theory ...'。为了解决这个问题,我会尝试将字符串分解成一组单词并将单词与字典条目进行比较。
答案 3 :(得分:0)
Kevins的答案对你有用,但万一你发现自己想要使用regex
:
import re
string_to_replace = ["HDTV", "HDRip", "720p", "X264"]
regex_string = r"|".join(string_to_replace)
S = "The Big Bang Theory S09E15 720p HDTV X264-DIMENSION"
new_string = re.sub(regex_string, "", S, flags=re.I)
print(new_string)
打印:
The Big Bang Theory S09E15 -DIMENSION
另外,正如您将注意到在您替换的字符串后面的空格仍然存在,如果您不希望这样,您可以更改string_to_replace
以包含空格,如下所示:{{1}这将导致输出为:
["HDTV ", "HDRip ", "720p ", "X264 "]