'i want to change the url using python

I'm new to python and I can't figure out a way to do this so I'm asking for someone to help

I have URL like this https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4 and I want to remove the last part go_cc_Jpterxvid_avi_mp4 of URL and also change /f/ with /d/ so I can get the URL to be like this https://abc.xyz/d/b

/b it change regular I have tried use somthing like this didn't work newurl = oldurl.replace('/f/','/d/').rsplit("/", 1)[0])



Solution 1:[1]

Late answer, but you can use re.sub to replace "/f/.+" with "/d/b", i.e.:

old_url = "https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4"
new_url = re.sub("/f/.+", r"/d/b", old_url)
# https://abc.xyz/d/b

Regex Demo and Explanation

Solution 2:[2]

You can apply re.sub twice:

import re
s = 'https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4'
new_s = re.sub('(?<=\.\w{3}/)\w', 'd', re.sub('(?<=/)\w+$', '', s))

Output:

'https://abc.xyz/d/b/'

Solution 3:[3]

import re

domain_str = 'https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4'

#find all appearances of the first part of the url
matches = re.findall('(https?:\/\/\w*\.\w*\/?)',domain_str)

#add your domain extension to each of the results
d_extension = 'd'
altered_domains = []
for res in matches:
    altered_domains.append(res + d_extension)
print(altered_domains)

exmaple input: 'https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4' and output: ['https://abc.xyz/d']

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Ajax1234
Solution 3 El Sholz