簡體   English   中英

搜索字符串,排除某些子字符串

[英]searching string, exclude certain substrings

我正在搜索字符串000295-0000108352@ap.ipaccess.com獲取108352 ,這應該返回true。 但是,如果我搜索它的子字符串,它不應該返回true。 例如,如果我搜索08352 ,則缺少1,因此這將是錯誤的。 我該怎么做到這一點?

我這樣搜索:

for item in parse:          
            if element in item:

其中element08352 ,parse是列表中的幾個字符串。 這回歸了我不想要的積極因素。

也許我應該尋找一種模式? 在我搜索的每個字符串之后是@通知,也是在每個字符串為0 那么也許是一個正則表達式? 並以某種方式將它加入我的forif

編輯:如果我在搜索字符串前加“00”並在結尾添加@會怎么樣? 喜歡:

if "00"+access_point_id+"@" in item:

簡單的中綴搜索就足夠了:

found = ("0%s@" % element) in item

-0+(\\d+)@這樣的正則表達式更安全:

m = re.search(r"-0+(\d+)@", item)
found = m and m.group(1) == element

如果要查找10位數的字符串,可以在搜索的字符串中添加填充:

>>> '{:0>10}'.format('08352')
'0000008352'
>>> '-{:0>10}@'.format('08352')
'-0000008352@'

暫無
暫無

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

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