Вы упомянули re.sub
; вот один способ использовать это:
import re
re.sub('.ear$','.war','com.foo.ear')
# -> 'com.foo.war'
$
соответствует концу строки.
Использование replace
было бы еще проще:
'com.foo.ear'.replace('ear','war')
# -> 'com.foo.war'
Edit:
И поскольку это похоже на путь, вы можете захотеть использовать os.path.splitext
:
'{0}{1}'.format(os.path.splitext('com.foo.ear')[0],'.war')
# -> 'com.foo.war'