[Python-ideas] New explicit methods to trim strings

MRAB python at mrabarnett.plus.com
Sun Mar 24 14:39:11 EDT 2019


On 2019-03-24 08:42, Alex Grigoryev wrote:
> Following the discussion here 
> <https://link.getmailspring.com/link/7D84D131-65B6-4EF7-9C43-51957F9DFAA9@getmailspring.com/0?redirect=https%3A%2F%2Fbugs.python.org%2Fissue36410&recipient=cHl0aG9uLWlkZWFzQHB5dGhvbi5vcmc%3D> 
> I propose to add 3 new string methods: str.trim, str.ltrim, str.rtrim
> Another option would be to change API for str.split method to work 
> correctly with sequences.
> 
> In [1]: def ltrim(s, seq):
> 
>     ...:     return s[len(seq):] if s.startswith(seq) else s
> 
>     ...:
> 
> 
This has a subtle bug:
> 
> In [2]: def rtrim(s, seq):
> 
>     ...:     return s[:-len(seq)] if s.endswith(seq) else s
> 
>     ...:
> 
If len(seq) == 0, then rtrim will return ''.

It needs to be:

def rtrim(s, seq):
     return s[ : len(s) - len(seq)] if s.endswith(seq) else s


More information about the Python-ideas mailing list