2015-01-14 56 views
4

我已經看到這個問題用其他語言,但找不到它的Python,也許它有一個我不知道的具體名稱。我想最後一次出現後,分割線「 - 」字,我的字符串將如下所示:得到最後一個字符發生後的所有內容python

POS--K 100 100 001 - 1462 

我想利用這個字符串在最後的最後一個數字 - 在這種情況下, 1462我不知道如何實現這一目標的,要達到這個時候只有一個這樣的角色,預計我會用以下內容:

last_number = last_number[last_number.index('-')+1:] 

我將如何做到這一點時,數目不詳的 - 可能存在和最終號碼可以是任何長度?

+4

'str.rsplit ...' –

+3

或'str.rpartition()'... –

回答

12

你幾乎在那裏。從左邊index選擇,並rindex選擇從右側:

>>> s = 'POS--K 100 100 001 - 1462' 
>>> s[s.rindex('-')+1:] 
' 1462' 
+2

很好,這是非常簡單的,因爲大多數事情都是在Python中:)完美謝謝 – twigg

4

,如果你想最後-

>>> s = "POS--K 100 100 001 - 1462" 
>>> a = s.split('-')[-1] 
>>> a 
' 1462' 
>>> a.strip() 
'1462' 

或之後的最後一個號碼你可以做到這一點作爲帕德里克在comment提到的,你可以使用rsplit

>>> s = "POS--K 100 100 001 - 1462" 
>>> a = s.rsplit('-')[1] 
>>> a 
' 1462' 
>>> a.strip() 
'1462' 
+3

's.rsplit(' - ',1)[1]'會更高效一點 –

相關問題