python中的分区字符串,获取冒号后的最后一段的值

时间:2011-05-29 17:43:44

标签: python string

我需要在此示例1234567中的最后一个冒号之后获取值

client:user:username:type:1234567

我不需要字符串中的任何其他内容只是最后一个id值。

4 个答案:

答案 0 :(得分:55)

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

如果您的字符串没有:,则结果将包含原始字符串。

一个应该慢一点的替代方案是:

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

答案 1 :(得分:25)

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

答案 2 :(得分:14)

使用此:

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

答案 3 :(得分:0)

您也可以使用pygrok。

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

返回

{'type': '1234567'}