[英]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.