我有一个列表,其中包含URL值,例如:
http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.jpg
如何将结尾的_s
全部替换为_m
?
试试这个:
str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.jpg"
str = str.replace("_s","_m")
如果您想确保仅更改最后一部分并且您知道所有文件都是 .jpg
文件,则可以使用以下命令:
str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.jpg"
str = str.replace("_s.jpg","_m.jpg")
import re
str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.jpg"
re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.png"
re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.gif"
re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.zip"
re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
输出:
>>> str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.jpg"
>>> re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
'http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_m.jpg'
>>> str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.png"
>>> re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
'http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_m.png'
>>> str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.gif"
>>> re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
'http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_m.gif'
>>> str = "http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_s.zip"
>>> re.sub("(.*)_s(\.[a-z0-9]{1,4})$", r"\1_m\2", str)
'http://farm6.static.flickr.com/5149/5684108566_aed8b9b52d_m.zip'
.rreplace
方法。 - eumiro