Подтвердить что ты не робот

Строка раздела в python и получить значение последнего сегмента после двоеточия

Мне нужно получить значение после последнего двоеточия в этом примере 1234567

client:user:username:type:1234567

Мне не нужно ничего из строки только для последнего значения id.

4b9b3361

Ответ 1

result = mystring.rpartition(':')[2]

Если в строке нет :, результат будет содержать исходную строку.

Альтернативой, которая должна быть немного медленнее, является:

result = mystring.split(':')[-1]

Ответ 2

foo = "client:user:username:type:1234567"
last = foo.split(':')[-1]

Ответ 3

Используйте это:

"client:user:username:type:1234567".split(":")[-1]

Ответ 4

Вы также можете использовать Pygrok.

from pygrok import Grok
text = "client:user:username:type:1234567"
pattern = """%{BASE10NUM:type}"""
grok = Grok(pattern)
print(grok.match(text))

возвращает

{'type': '1234567'}