Escreva o título do diretório personalizado aqui
Propósito principal
Extraia títulos diretamente de documentos, como relatórios do governo, e copie-os para o mapa mental xmind
Modifique a lista para verificar o formato do título
problemas encontrados
A atribuição em exec é uma variável local.
A pontuação chinesa precisa ser transcodificada e combinada separadamente.
Código fonte
import re
def pattern1(string):
global tmp
#patterns =re.compile(r'[\u4e00-\u9fa5]')
patterns=re.compile(r"[一二三四五六七八九十]+、[\u4e00-\u9fa5\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\w]+")
tmp=re.match(patterns,string,0)
if tmp==None:
return tmp
else:
tmp = tmp.group(0)
return
def pattern2(string):
global tmp
pattern=re.compile(r"[\((][一二三四五六七八九十]+[\))][\u4e00-\u9fa5\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\w]+?\u3002")
tmp=re.match(pattern,string,0)
if tmp==None:
return tmp
else:
tmp = tmp.group(0)
return
def pattern3(string):
global tmp
pattern=re.compile(r"\d+[、.][\u4e00-\u9fa5\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b\w]+?\u3002")
tmp=re.match(pattern,string,0)
if tmp==None:
return tmp
else:
tmp = tmp.group(0)
return
def check(string):
global tmp
list=[1,2,3]
for l in list:
exec(f'pattern{
l}(string)')
if tmp!=None:
print(tmp)
return tmp
return None
path=r'E:\huang\Desktop\AAA粘贴处理.txt'
output=r'E:\huang\Desktop\BBB标题输出.txt'
file=open(output,'w',encoding='ansi')
with open(path,'r') as f:
for line in f.readlines():
l=check(line.strip())
if l!=None:
file.write(l.strip()+'\n')
file.close()