我正在尝试抓取fileID,完成了grabFile函数,然后计算句子,由sentcount语句完成。现在我的所有句子数都是0。我刚回来看看。问题是我的grabAbs不适合我。任何人都可以帮我检查代码,让我知道是什么问题?感谢。
grabFile=re.findall(r'File\s+\:\s+(\w\d{7})',mytext)
if len(grabFile) == 0:
matchFile= "N/A"
else:
matchFile = grabFile[0]
newtext=re.sub(r'\n','',mytext)
newtext=re.sub(r'\s+','',newtext)
grabAbs=re.findall(r'Abstract\s+\:(\w.+)',newtext)
if len(grabAbs) == 0:
matchAbs= "N/A"
else:
matchAbs = grabAbs
#filesents={}
sentcount=0
for each in matchAbs.split('\.'):
if each =='N/A':
sentcount=0
else:
sentcount +=1
print sentcount, matchFile
其中一个文件的摘要文本(a95000006):
摘要:
9500006 Wang此奖项为学术联络与工业(GOALI)研究项目提供机会,将开发一种减少铝制汽车空间框架几何变化的新方法。'
答案 0 :(得分:0)
grabAbs=re.findall(r'Abstract\s+\:(\w.+)',newtext)
grabAbs=re.findall(r'Abstract\s+\:(\w.+)',newtext, flags=re.M)
- 编辑 -
@jammon指出我提到的那一行上方的行删除了所有空格。因此,结肠前的空格将被删除。此外,上面的行删除所有换行符。由于删除冒号后的换行符,捕获组中的\w
无法匹配。也许捕获组应该只是(.+)
:
grabAbs=re.findall(r'Abstract\:(.+)',newtext)