2011-05-29 47 views
23

后获得最后一段的价值我需要在这个例子中,最后一个冒号后的值1234567分区字符串和结肠

client:user:username:type:1234567 

我不需要其他任何东西从字符串刚刚过去的ID值。

回答

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

如果字符串没有任何:,结果将包含原始字符串。

那应该是稍微慢一点的替代方案是:

10

使用此:

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

为什么downvote? – 2011-05-29 17:50:49

+1

两个downvotes和没有评论? – 2011-05-29 17:53:12

+6

或者,.rsplit(“:”,1)[ - 1],最多分割一次(从右端开始)。 – MRAB 2011-05-29 19:55:20

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

呃,为什么要投票?这样做可以解决问题。 – ralphtheninja 2011-05-29 17:51:32