如何删除字符串中的前导零和尾随零?python

我有几个这样的字母数字字符串

listOfNum=['000231512-n'、'1209123100000-n00000'、'alphanumeric0000'、'000alphanumeric']

删除尾随零的所需输出为:

listOfNum=['000231512-n'、'1209123100000-n'、'alphanumeric'、'000alphanumeric']

前导尾随零的期望输出为:

listOfNum=['231512-n'、'1209123100000-n00000'、'alphanumeric0000'、'alphanumeric']

删除前导零和尾随零的期望输出为:

listOfNum=['231512-n'、'1209123100000-n'、'字母数字'、'字母数字']

目前,我一直采用以下方法,如果有,请建议更好的方法:

listOfNum=['000231512-n'、'1209123100000-n00000'、'alphanumeric0000'\
“000字母数字”]
trailingremoved=[]
引线已移除=[]
bothremoved=[]
#移除尾随
对于listOfNum中的i:
而i[-1]=“0”:
i=i[:-1]
trailingremoved.append(i)
#移除导程
对于listOfNum中的i:
而i[0]=“0”:
i=i[1:]
删除引线。追加(i)
#两个都去掉
对于listOfNum中的i:
而i[0]=“0”:
i=i[1:]
而i[-1]=“0”:
i=i[:-1]
bothremoved.append(i)

那基础教育呢

您的字符串.strip("0")

要删除尾随零和前导零?如果您只想删除尾随零,请改用.rstrip(而.lstrip仅用于前导零)

更多信息在文档中

您可以使用一些列表理解来获得您想要的序列,如下所示:

trailing\u removed=[s.rstrip("0")用于listOfNum中的s]
删除的前导字符=[s.lstrip("0")表示listOfNum中的s]
两个“已删除=[listOfNum中s的s.strip("0")]

发表评论