def handler_users_answ(coze, res, type, source):
if res:
if res.getType() == 'result':
aa=res.getQueryChildren()
if aa:
print 'workz1'
for x in aa:
m=x.getAttr('jid')
if m:
print m
所以这段代码会返回如下值:
roomname@domain.com/nickname1
roomname@domain.com/nickname2
等等,但我希望它仅在'/'之后打印值。 像:
nickname1
nickname2
提前致谢。
答案 0 :(得分:2)
您可以使用rpartition
获取字符串中最后一个\
之后的部分。
答案 1 :(得分:1)
a = 'roomname@domain.com/nickname1'
b=a.split('/');
c=b[1];
答案 2 :(得分:1)
您可以使用rsplit进行右侧分割:
a = 'roomname@domain.com/nickname1'
try:
print a.rsplit('/')[1][1]
except IndexError:
print "No username was found"
我认为这是有效且可读的。如果你真的需要快速,你可以使用rfind:
a = 'roomname@domain.com/nickname1'
index = a.rfind('/')
if index != -1:
print a[index+1:]
else:
print "No username was found"
答案 3 :(得分:1)
要正确完全解析和验证JID,请参阅this answer。有一堆你可能没想到的奇怪的小边缘情况。