nicer way to remove prefix of a string if it exists

Juan Andres Knebel juanknebel at gmail.com
Tue Jul 13 20:08:21 EDT 2010


Hi, for rm1 I think something like this could work:
def rm1(prefix,txt):
  regular_expresion = re.compile(r''+prefix+'(.*)')
  return re.match(regular_expresion,txt).group(1)



On Tue, Jul 13, 2010 at 8:49 PM, News123 <news1234 at free.fr> wrote:

> I wondered about a potentially nicer way of removing a prefix of a
> string if it exists.
>
>
> Here what I tried so far:
>
>
> def rm1(prefix,txt):
>    if txt.startswith(prefix):
>        return txt[len(prefix):]
>    return txt
>
>
> for f in [ 'file:///home/me/data.txt' , '/home/me/data.txt' ]:
>    # method 1 inline
>    prefix = "file://"
>    if f.startswith(prefix):
>            rslt = f[len(prefix):]
>    else
>        rsl = f
>    # method 2 as function
>    rslt = rm1('file://',f)
>
>
> Is there any nicer function than above rm1()?
> Is there any nicer inline statement rhan my method 1' ?
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>



-- 
Juan Andres Knebel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20100713/80a1be49/attachment.html>


More information about the Python-list mailing list