If you want to remove a substring from the end of a string, you should fisrt check if the string ends with that substring. If it does, then slice the string keeping only the part without substring. For example,
def rchop(string, ending): if string.endswith(ending): return string[:-len(ending)] return string chopped_str = rchop('Hello world', 'orld') print chopped_str
This will give the output:
Hello w
If speed is not important, you can also use a regex here. For example,
>>> import re >>> re.sub('orld$', '', 'Hello world') Hello w