簡體   English   中英

如何從字符串的開頭刪除重復的字符

[英]How to remove duplicating character from beginning of a string

我有一個人類輸入的數字數組,在實際數字開始之前包含隨機數量的零。 猜示例會說更多:

entry_1="0000005452508"
entry_2="02965054"
entry_3="5487864"

我需要在這些重復的零結束后得到字符串,即第一個條目應該導致5452508。如果不是固定的數字位數。 列表非常龐大,所以我需要一些好的,快速的工作。

任何想法都贊賞。

lstrip做你想要的:

entry_1 = "0000005452508".lstrip("0")
entry_2 = "02965054".lstrip("0")
entry_3 = "5487864".lstrip("0")

lstrip ,正如@dav1d所建議的那樣 絕對是要走的路。

使用正則表達式,您可以使用以下內容來完成相同的操作:

> import re
> re.sub("^0+", "", "0000005452508")
"5452508"

我會像已經建議的那樣使用.lstrip ,但如果你真的想要一個正則表達式。

沒有任何東西的領先零:

re.sub(r'^0*', '', entry_1)

已經提供了很好的答案,但都創造了一個新的序列 要提供替代方案,因為您已指定列表很大並且復制可能是一個問題,您應該考慮使用itertools.dropwhile

只要謂詞為真,就創建一個從迭代中刪除元素的迭代器; 之后,返回每個元素。

例如:

import itertools
itertools.dropwhile(lambda x: x == '0', entry_1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM