簡體   English   中英

從 Python 中的字符串中刪除第一組字符

[英]Remove the first set of characters from the string in Python

我必須在這里只比較唯一值。 為此,我必須刪除所有以前的字符並進行比較。例如我的字符串是

a1=/1/1/auniquevalue
a2=/1/10/buniquevalue

比較我嘗試過的獨特價值是

a1=a1[4:]  
a1=uniquevalue 

它運作良好。

但是,如果我得到與 a2 相同的兩位數,那么 a2 值將是 a2=/uniquevalue 並且比較失敗。

如何獲得不變的位數的唯一值。 而且唯一值很長,每次都不同所以基本上我必須刪除所有字符,直到第三個斜杠

我們可以在這里使用re.sub ,並刪除所有內容,包括最后(第三個)正斜杠:

a1 = "/1/1/auniquevalue"
a1_out = re.sub(r'^.*/', '', a1)
print(a1_out)

這打印:

auniquevalue

另一種選擇,假設總是有三個斜杠,將使用split()

a1 = "/1/1/auniquevalue"
a1_out = a1.split('/')[3]

我必須刪除所有字符,直到第三個斜杠

您可以使用str.split方法執行該任務,方法如下:

a1='/1/1/auniquevalue'
a2='/1/10/buniquevalue'
a1uniq = a1.split('/',3)[-1]
a2uniq = a2.split('/',3)[-1]
print(a1uniq)  # auniquevalue
print(a2uniq)  # buniquevalue

split接受第二個可選參數:要進行的最大拆分數, [-1]表示獲取最后一個元素。 設置此可選參數可確保在您的唯一值中有/時它也能正常工作,即

a3 = '/1/10/blah/blah/blah'
a3uniq = a3.split('/',3)[-1]
print(a3uniq)  # blah/blah/blah

你可以試試這個

a1="/1/10/buniquevalue"
a1[a1.rfind("/")+1:]

再見

暫無
暫無

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

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