Строка раздела в python и получить значение последнего сегмента после двоеточия Мне нужно получить значение после последнего двоеточия в этом примере 1234567 client:user:username:type:1234567 Мне не нужно ничего из строки только для последнего значения id. Ответ 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'}
Ответ 1 result = mystring.rpartition(':')[2] Если в строке нет :, результат будет содержать исходную строку. Альтернативой, которая должна быть немного медленнее, является: result = mystring.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'}