Alex Rivera | Logout

How to replace some characters from the end of a string?

Asked 2010-09-09T09:24:27.317
55

I want to replace characters at the end of a python string. I have this string:

s = "123123"

I want to replace the last 2 with x. Suppose there is a method called replace_last:

>>> replace_last(s, '2', 'x')
'1231x3'

Is there any built-in or easy method to do this?


It's similar to python's str.replace():

>>> s.replace('2', 'x', 1)
'1x3123'

But it's from the end to beginning.

Edit
Report

1 Answer

18

This is one of the few string functions that doesn't have a left and right version, but we can mimic the behaviour using some of the string functions that do.

>>> s = '123123'
>>> t = s.rsplit('2', 1)
>>> u = 'x'.join(t)
>>> u
'1231x3'

or

>>> 'x'.join('123123'.rsplit('2', 1))
'1231x3'
answered 2010-09-09T17:56:35.077

Your Answer