Ich habe mehrere alphanumerische Zeichenfolgen wie dieseWie werden führende und nachfolgende Nullen in einer Zeichenfolge entfernt? Python
listOfNum = ['000231512-n','1209123100000-n00000','alphanumeric0000', '000alphanumeric']
Die gewünschte Ausgabe zur Entfernung nachlauf Nullen wären:
listOfNum = ['000231512-n','1209123100000-n','alphanumeric', '000alphanumeric']
Die gewünschte Ausgabe für nachgestellte Nullen führen würde:
listOfNum = ['231512-n','1209123100000-n00000','alphanumeric0000', 'alphanumeric']
Der Wunsch heraus setzen zum Entfernen beide vorderen und hinteren Nullen wäre:
listOfNum = ['231512-n','1209123100000-n00000','alphanumeric0000', 'alphanumeric']
Vorerst Ich habe es die folgende Art und Weise zu tun, schlagen Sie einen besseren Weg, wenn es:
listOfNum = ['000231512-n','1209123100000-n00000','alphanumeric0000', \
'000alphanumeric']
trailingremoved = []
leadingremoved = []
bothremoved = []
# Remove trailing
for i in listOfNum:
while i[-1] == "0":
i = i[:-1]
trailingremoved.append(i)
# Remove leading
for i in listOfNum:
while i[0] == "0":
i = i[1:]
leadingremoved.append(i)
# Remove both
for i in listOfNum:
while i[0] == "0":
i = i[1:]
while i[-1] == "0":
i = i[:-1]
bothremoved.append(i)
Gibt es eine clevere Einstellung für diese Antwort für den Spezialfall 's = '0''? – Charlie