I'm a big +1. 

I prefer strip_prefix/strip_suffix but only by a little bit. 

> On 1 Jul 2019, at 21:34, Kirill Balunov <kirillbalu...@gmail.com> wrote:
> 
>> This was quite extensively discussed on python-ideas recently:
>> 
>> https://mail.python.org/archives/list/python-ideas@python.org/thread/RJARZSUKCXRJIP42Z2YBBAEN5XA7KEC3/#WIRID57ESUFUAQQQ6ZUY2RK5PKQQYSJ3
>> 
>> (I'm finding it hard to find a good thread view in the new interface -- but 
>> that will get you started)
>> 
>> My memory of that thread is that there was a lot of bike shedding, and quite 
>> a lot of resistance to adding a couple new methods, which I personally never 
>> understood (Not why we don't want to add methods willy-nilly, but why there 
>> was this much resistance to what seems like an low-disruption, low 
>> maintenance, and helpful addition)
>> 
>> I think it just kind of petered out, rather than being rejected, so if 
>> someone wants to take up the mantle, that would be great -- and some support 
>> from a core dev or two would probably help.
>> 
>> -CHB
>> 
>> 
>> 
>> 
>>> On Fri, Jun 28, 2019 at 10:44 AM Brett Cannon <br...@python.org> wrote:
>>> Glenn Linderman wrote:
>>> > On 6/27/2019 3:09 PM, Brett Cannon wrote:
>>> > > My guess is that without Guido to just ask this will
>>> > > have to go to a PEP as it changes a built-in.
>>> > > How does adding two new methods change a built-in?
>>> > > Now if an extra parameter were added to modify lstrip, rstrip, and 
>>> > > strip 
>>> > to make them do something different, yes.
>>> > But adding new methods doesn't change anything, unless someone is 
>>> > checking for their existence.
>>> 
>>> Sure, but the built-ins are so widely used that we don't want to blindly 
>>> add every method idea that someone comes up with either. We all very much 
>>> share ownership of the built-ins, so we should all agree to changes to 
>>> them, and getting agreement means either clear consensus and/or a PEP.
>>> 
>>> -Brett
>>> 
>>> > My preferred color is  pstrip and sstrip (prefix and suffix strip) since 
>>> > lstrip and rstrip mean left and right.
>>> > And maybe there should be a psstrip, that takes two parameters, the 
>>> > prefix and the suffix to strip.
>>> > Such functions would certainly reduce code in a lot of places where I do
>>> > if  string.startswith('foo'):
>>> >      string = string[ 3: ];
>>> > as well as making it more robust, because the string and its length have 
>>> > to stay synchronized when changes are made.
> 
> I think this type of discussion better fits here.  Quickly looking through 
> the aforementioned branch - I want to say that that branch died due to 
> bike-shedding :)
> 
> I'm sure this has already been proposed, but it seems to me that the most 
> natural would be to expand the functionality of existing `.lstrip`, `.rstrip` 
> and maybe `.strip` methods. Probably many do not like what _names_ were given 
> to these methods. But nothing can be done about it, they are what they are 
> and will not go anywhere.  Adding two more methods with similar functionality 
> will only confuse.  Moreover since we already have a precedent with other 
> string methods like `.startswith` and `.endswith`  that accepts as an 
> argument both a string and a tuple of strings.
> 
> On the other hand, this suggests that this functionality makes sense only for 
> `.lstrip` and `.rstrip` variants. Is such a discrepancy acceptable? 
> 
> If it is, I will suggest to allow `.lstrip` and `.rstrip` to accept tuple of 
> strings. The _stripping_ will be carried out in accordance with the linear 
> probing and only one stripping at a time.
> 
> >>> s = 'paparazzi'
> >>> s.lstrip(('pa', 'ra'))
> 'parazzi'
> 
> Which also deviates from the existing semantics of strinst.split(strinst). Is 
> this also permissible?
> 
> Perhaps all these discrepancies lead to the idea of having new names for 
> these methods. But for me personally, all these deviations are an inevitable 
> price for practicality and, of course, echoes of past decisions.
> 
> I would like to have such a functionality and find it usedul. Just today, I 
> needed to remove the “model_” substring from  beginnings of the set of file 
> filenames, but this does not work because some of the files have names, like 
> "model_ma...", "model_me...",  "model_or..." and so on.
> 
> with kind regards,
> -gdg
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/XYFQMFPUV6FR2N5BGYWPBVMZ5BE5PJ6C/
> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/RJIRFKJNFPM7BGJBTGUKBIOYTHPBTR6Z/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to