Итак, у меня есть строка URL 'http://helloworld.net/b/c/3?nw=174057&csid=fire.clan.com/gram/&din=&rand=52710&w=400&h=112'. Это в Python 2.7.
'http://helloworld.net/b/c/3?nw=174057&csid=fire.clan.com/gram/&din=&rand=52710&w=400&h=112'
Теперь параметр rand в URL-адресе постоянно изменяется и всегда имеет длину 5 цифр, поэтому он может быть rand=12345 или 99999 и т. Д.
rand=12345
99999
Теперь я хочу изменить это в этом случае ('rand=52710') на что-то вроде 'sub' или просто ''
'rand=52710'
'sub'
''
Я пытался сделать это с помощью https://developers.google.com/edu/python/regular-expressions, но не нашел твердого раствора
https://developers.google.com/edu/python/regular-expressions
Любая помощь будет оценена спасибо.
Без регулярного выражения, если предположить, что ваше утверждение " теперь параметр rand в URL-адресе постоянно меняется и всегда имеет длину 5 цифр, поэтому значение rand = 12345 или 99999 " остается верным:
url = "http://helloworld.net/b/c/3?csid=fire.clan.com/gram/&din=&rand=52710&w=400&h=112" index = url.rfind("rand=") if index != -1: url = url[:index] + url[index+11:] # add 'sub' between url parts if you want it # http://helloworld.net/b/c/3?csid=fire.clan.com/gram/&din=&w=400&h=112
Использование Regex .
Ex:
import re u = 'http://helloworld.net/b/c/3?nw=174057&csid=fire.clan.com/gram/&din=&rand=52710&w=400&h=112' print re.sub("rand\=\d+", "SUB", u)
Выход:
http://helloworld.net/b/c/3?nw=174057&csid=fire.clan.com/gram/&din=&SUB&w=400&h=112