I am new to python and I have been searching for a method to replace a series of patterns and cannot find a method that uses regex, none of which I found have worked for me, here are some of my patterns and the code I am using:
regexes = {
r'\s(\(|\[)(.*?)Mix(.*?)(\)|\])/i' : r"",
r'\s(\(|\[)(.*?)Version(.*?)(\)|\])/i' : r"",
r'\s(\(|\[)(.*?)Remix(.*?)(\)|\])/i' : r"",
r'\s(\(|\[)(.*?)Extended(.*?)(\)|\])/i' : r"",
r'\s\(remix\)/i' : r"",
r'\s\(original\)/i' : r"",
r'\s\(intro\)/i' : r"",
}
def multi_replace(dict, text):
for key, value in dict.items():
text = re.sub(key, value, text)
return text
filename = "Testing (Intro)"
name = multi_replace(regexes, filename)
print(name)
I am pulling filenames from directories of music I own as I am a DJ, I belong to many record pools and they label their songs sometimes as follows;
SomeGuy - Song Name Here (Intro)
SomeGirl - Song Name Here (Remix)
SomeGirl - Song Name Here (Extended Version)
SomeGuy - Song Name Here (12" Mix Vocal)
and so on...
my regex above works in PHP in which it will remove all the values like (Intro) (Remix) (Extended Version), etc. so the output is;
SomeGuy - Song Name Here
SomeGirl - Song Name Here
SomeGirl - Song Name Here
SomeGuy - Song Name Here
and so on...