我试着将一个规范的长文本分割开来,并提取出该规范的特定文本范围。我发现在python
中使用re.split()
是做这项工作的最佳方式(我认为)。所以这里有一个文本(西班牙语)的例子,我正在尝试split
test = "11.3.2 Debe llevarse a cabo mediante equipos o sistemas de seguridad que eviten
la explosión por golpe, chispa o calentamiento. 12. Requisitos de seguridad e
higiene para el transporte y almacenamiento de sustancias corrosivas, irritantes
o tóxicas 12.1 El almacenamiento de sustancias corrosivas, irritantes o tóxicas debe
hacerse en recipientes específicos, de materiales compatibles con la sustancia de
que se trate. 12.2 Cuando el transporte de sustancias corrosivas, irritantes o
tóxicas en los centros de trabajo se realice a través de un sistema de tuberías o
recipientes portátiles, éstos deben estar cerrados para evitar que su contenido se
derrame o fugue."
所以我想要达到的是split
文本和array
的文章。['11.3.2 Debe llevarse ...','12. Requisitos ...','12.1 El almacenamiento ...','12.2 Cuando...']
。你知道吗
所以目前我所做的没有成功的是:
re.split("\s(\d{1,2}\.\d*\.*\d*\s[A-Z]+)",test)
因此:
['11.3.2 Debe llevarse a cabo ...', '12. R', 'equisitos de seg ...', '12.1 E', 'l almacenamiento de sustancias corrosivas ... ', '12.2 C', 'uando el transporte de sustancias corrosivas ...', '13. V', 'igilancia La vigilancia del...']
有什么建议吗?你知道吗
我建议按标准的数目分开,然后按2乘2的顺序连接
参见演示here
您可以执行以下操作:
输出
模式
\d{1,2}(\.\d{1,2})*([^\d]+)
将匹配头(编号),后跟不是数字的所有内容。作为一种替代方法,您可以使用以下内容,并进行展望:输出
这样做的目的是匹配后跟标题或文本结尾的所有内容。注意标志
re.DOTALL
的使用。你知道吗findall的另一个解决方案:
相关问题 更多 >
编程相关推荐