Python正则表达式:关于获取文本

时间:2013-07-09 06:28:33

标签: python

我试图为游戏制作传送模块,但首先我必须从ListBoxEx获取坐标

self.Gui[3].AppendItem(Item(str(chr.GetNameByVID(i)) + "    " + str(nonplayer.GetLevelByVID(i)) + "    " + "%d, %d" % (mobX/100, mobY/100)))

http://i.stack.imgur.com/MX8aV.jpg

我试过这个

mob_x, mob_y = re.findall(r"\(([0-9]+), ([0-9]+)\)", item_index.GetText())[0]

结果:索引错误

    def Teleport(self):
    item_index = self.Gui[3].GetSelectedItem() 
    if not item_index: 
        chat.AppendChat(chat.CHAT_TYPE_INFO, "Kein Item ausgewählt!") 
        return 
    mob_x, mob_y = re.findall(r"\(([0-9]+), ([0-9]+)\)", item_index.GetText())[0]  

    chr.SetPixelPosition(mob_x, mob_y)

1 个答案:

答案 0 :(得分:0)

根据截图,您的文字类似于" 108,109"但是reqular表达式正在解析"(108,109)"。使用:

mob_x, mob_y = re.findall(r"([0-9]+), ([0-9]+)", item_index.GetText())[0]