我正在尝试制作一个Python脚本,它从Facebook Messenger(以json格式提供)获取一个存档的聊天记录,并将其重新格式化为文本,以便存档几年的D&;D角色扮演。因此,我希望能够将被认为是“说话”的角色与被认为是角色动作的角色区分开来,这样就可以对它们应用不同的格式。这是有问题的,因为聊天从来就不是为这个目的而设计的,所以“和”都被用来描述语言
当读入Python时,messenger json文件将成为字典对象。我目前正在遍历字典中的每条消息,并尝试在每条消息的“内容”键中查找所有出现的语音(因为每条消息中可能有多个语音位),然后将它们全部打印出来。我目前正试图用Python的REfindall
函数来实现这一点:
for msg in msgs["messages"]:
content = msg["content"]
singlecheck = r"\s\'(.*?)\'\s"
doublecheck = r'\"(.*?)\"'
print(re.findall(f"{doublecheck}|{singlecheck}", content))
目前,它正在捕获给定json文件中的大部分语音,但受到a)具有多个语音实例的消息的限制,因为尽管调用findall
,它似乎只找到第一个;和b)在开头或结尾用撇号缩写的单词,如“aven't或missin”
目前没有回答
相关问题 更多 >
编程相关推荐