1

我有一个应用程序可以显示来自 reddit 的图像。有些图像像这样http://imgur.com/Cuv9oau,当我需要让它们看起来像这样http://i.imgur.com/Cuv9oau.jpg时。只需在开头添加 (i) 并在末尾添加 (.jpg)。

4

3 回答 3

3

您可以使用字符串替换:

s = "http://imgur.com/Cuv9oau"
s = s.replace("//imgur", "//i.imgur")+(".jpg" if not s.endswith(".jpg") else "")

这将 s 设置为:

'http://i.imgur.com/Cuv9oau.jpg'
于 2013-07-11T02:37:38.527 回答
2

这个功能应该做你需要的。我扩展了@jh314 的响应,使代码不那么紧凑,并检查了 url 是否以开头http://imgur.com因为该代码会导致其他 URL 出现问题,例如我包含的 google 搜索。它也只替换了第一个实例,这可能会导致问题。

def fixImgurLinks(url):
    if url.lower().startswith("http://imgur.com"):
        url = url.replace("http://imgur", "http://i.imgur",1) # Only replace the first instance.
        if not url.endswith(".jpg"):
            url +=".jpg"
    return url

for u in ["http://imgur.com/Cuv9oau","http://www.google.com/search?q=http://imgur"]:
    print fixImgurLinks(u)

给出:

>>> http://i.imgur.com/Cuv9oau.jpg
>>> http://www.google.com/search?q=http://imgur
于 2013-07-11T03:30:18.320 回答
1

您应该使用Python 的正则表达式来放置i. 至于.jpg你可以追加它

于 2013-07-11T02:31:02.930 回答