【发布时间】:2019-03-11 14:20:27
【问题描述】:
我正在尝试从 .txt 文件中提取 ImageNet 标签,如下所示。
998:'耳朵,穗状花序,头状花序', 999: '卫生纸、卫生纸、卫生纸'}我试过了
label = []
txt = open("imagenet1000_clsid_to_human.txt").readlines()
# print(str(txt))
p = re.compile(r"'(.*?)'")
# print(txt)
for i in range(len(txt)):
# print(txt[i])
# print('\n')
m = p.match(txt[i])
if m:
lis = list(m.group())[:-1]
s = ''.join(lis)
print(s)
label.append(s)
提取单引号内的子字符串,但它不断吐出'None'。
我已经尝试过在线正则表达式编译器,它工作得非常好。有人可以就这个问题给点建议吗?
【问题讨论】:
-
感谢您的评论,但仍然无法正常工作...
-
您需要在正则表达式中转义特殊字符。使用 \'
-
查看re包中的findall函数。
-
好吧,我没有显示我所有的 .txt 文件,但它由多行组成!
-
哦,是的。对不起,看错你的帖子了。我将编辑我的答案 - findall 仍然是您所需要的。