nicer way to remove prefix of a string if it exists

14/07/2010 - 00:28 von News123 | Report spam
I wondered about a potentially nicer way of removing a prefix of a
string if it exists.


Here what 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' ?
 

Lesen sie die antworten

#1 News123
14/07/2010 - 01:48 | Warnen spam
News123 wrote:
I wondered about a potentially nicer way of removing a prefix of a
string if it exists.



Sorry,

Bin in der Grupper verrutscht.


Naja dann halt die Frage nochmal auf Deutsch.

Hab eben mal drueber meditiert wie ich am 'schoensten' einen prefix von
einem string entferenen kann falls er vorhanden ist.


Was ich bis jetzt so probiert habe:

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)

Gibts das noch was kompakteres als rm1()?
Gibts ne nettere Loesung ohne erzeugen einer eigenen Funktion?
(alternative zu method 1 ?)



Viele Dank fuer Ideen

N

Ähnliche fragen