Escriba el título del directorio personalizado aquí
propósito principal
Extraiga directamente títulos de informes gubernamentales y otros documentos y cópielos en el mapa mental de xmind.
Modifique la lista para verificar el formato del título.
problemas encontrados
La asignación en exec es una variable local.
La puntuación china debe transcodificarse y combinarse por separado.
código fuente
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()