It seems to me that the desired behavior here is closest to 'str.replace()' out 
of all the options discussed, just with the constraint of being limited to 
either the start or the end of the string. (Thus the .lreplace() and 
.rreplace() option suggested by Glenn.)

The minimal change (which actually also is pretty general?) I think would be to 
add 'only_start' and 'only_end' keyword arguments to str.replace(), both 
defaulting to False. If, e.g., 'only_start' is passed True, each repetition of 
'old' at the start of 's' is replaced by 'new', with the number of replacements 
limited by the existing optional 'count'. Similar behavior for 'only_end'=True. 
 Probably best to raise a ValueError(?) if both 'only_start'=True and 
'only_end'=True?

Taking swapping a file extension as an example of a particular transformation 
of interest, it would be achieved with something like s.replace(".htm", 
".html", only_end=True).

-Brian
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/N3VNJHO467YT53ZVIAAGKEWOYISJ4VTY/

Reply via email to