Ответ 1
result = mystring.rpartition(':')[2]
Если в строке нет :
, результат будет содержать исходную строку.
Альтернативой, которая должна быть немного медленнее, является:
result = mystring.split(':')[-1]
Мне нужно получить значение после последнего двоеточия в этом примере 1234567
client:user:username:type:1234567
Мне не нужно ничего из строки только для последнего значения id.
result = mystring.rpartition(':')[2]
Если в строке нет :
, результат будет содержать исходную строку.
Альтернативой, которая должна быть немного медленнее, является:
result = mystring.split(':')[-1]
foo = "client:user:username:type:1234567"
last = foo.split(':')[-1]
Используйте это:
"client:user:username:type:1234567".split(":")[-1]
Вы также можете использовать Pygrok.
from pygrok import Grok
text = "client:user:username:type:1234567"
pattern = """%{BASE10NUM:type}"""
grok = Grok(pattern)
print(grok.match(text))
возвращает
{'type': '1234567'}