Ainda não entendo muito bem as expressões regulares e, para este projeto, não tenho tempo para aprendê-las (mas pretendo fazê-lo o mais rápido possível). Digamos que eu tenha estes nomes de arquivos como strings:
string <- c("2019data/ABC19_XY_10001/finit1/ABC19_XY_10001_FAST (1).csv",
"2019data/ABC19_XY_2145/finit2/ABC19_XY_2154_GRABBER (1).csv")
Para este exemplo, quero extrair apenas o número após o sublinhado, ou seja, 10001
e 2145
, e a palavra final, ou seja, FAST
e GRABBER
e colá-los juntos assim: 10001_FAST
e 2145_GRABBER
. Como eu faria isso?
Editar : a estrutura do arquivo é quase sempre assim, exceto que o valor numérico pode ter qualquer número de dígitos e a palavra no final pode ser tão longa quanto quem nomeou o arquivo.
Com tão poucos detalhes, quem sabe se isso funcionará em um segundo caso, mas funciona no único exemplo fornecido:
Explicação:
(?<=_)
procure um sublinhado, mas não o inclua na correspondência,\\d+
então um ou mais dígitos,_
em seguida, um sublinhado,[A-Z]+
então uma ou mais letras maiúsculas