繁体   English   中英

从R上的数据中提取特定模式

[英]Extract specific pattern from data on R

我有一个“ .txt”文件,其中包含许多司法文本,但我只想提取日期以进行进一步的分析和图形处理。 这是一个示例(抱歉,葡萄牙语):

“ AR-4024-03.2010.5.00.0000(2)”“ ACORDAM os Ministros daEgrégiaSubseçãoII Especializada emDissídios做高级法庭Trabalho,por unanimidade,nãoconhecer do recursoordinário,porincabíveldeBrasía。 巴西利亚242011年 Firmado POR assinatura数字(MP 2.200-2 / 2001),路易斯·阿尔贝托·德Bresciani福泰佩雷拉部长叙述者FLS。PROCESSONºTST-AR-4024-03.2010.5.00.0000 Firmado POR assinatura数字EM 26/05/2011 PELO SISTEMA AssineJus daJustiçado Trabalho,符合MP 2.200-2 / 2001,属于巴西巴西利亚查韦斯大学研究所。

该文件包含很多内容,但是我只想提取突出显示的部分并将它们放在单独的向量中。 我一直在尝试比赛,grep没有任何作用。 也许是因为我是R的新手。

此模式将匹配您突出显示的表单的日期:

"\\d{1,2} de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|septembro|outubro|novembro|dezembro) de \\d{4}"

有关特殊字符和量词的详细信息,请参见?regex 您可以替换匹配的项目:

your_text <-  c("AR - 4024-03.2010.5.00.0000", "ACORDAM os Ministros da Egrégia Subseção II Especializada em Dissídios Individuais do Tribunal Superior do Trabalho, por unanimidade, não conhecer do recurso ordinário, por incabível. Brasília, 24 de maio de 2011. Firmado por assinatura digital (MP 2.200-2/2001) Alberto Luiz Bresciani de Fontan Pereira Ministro Relator fls. PROCESSO Nº TST-AR-4024-03.2010.5.00.0000 Firmado por assinatura digital em 26/05/2011 pelo sistema AssineJus da Justiça do Trabalho, conforme MP 2.200-2/2001, que instituiu a Infra-Estrutura de Chaves Públicas Brasileira.")

sub( "(.+ )(\\d{1,2} de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|septembro|outubro|novembro|dezembro) de \\d{4})(.+)", "\\2", your_text[grepl("\\d{1,2} de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|septembro|outubro|novembro|dezembro) de \\d{4}", your_text )
[1] "AR - 4024-03.2010.5.00.0000" "24 de maio de 2011" 

要删除不包含日期的项目,可以使用grepl进行grepl选择:

> sub( "(.+ )(\\d{1,2} de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|septembro|outubro|novembro|dezembro) de \\d{4})(.+)", "\\2", your_text[grepl("\\d{1,2} de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|septembro|outubro|novembro|dezembro) de \\d{4}", your_text )])
[1] "24 de maio de 2011"

如果您需要使用这些模式来掌握使用捕获类的窍门,则可以使用漂亮的regex测试网页。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM