nicer way to remove prefix of a string if it exists
MRAB
python at mrabarnett.plus.com
Tue Jul 13 20:12:27 EDT 2010
News123 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()?
No.
> Is there any nicer inline statement rhan my method 1' ?
>
You could write:
rsl = f[len(prefix):] if f.startswith(prefix) else f
in recent versions of Python, but the function is neater.
More information about the Python-list
mailing list