publicidade

Substituindo texto no Word usando REGEX.

Há algum tempo precisei manipular algumas informações em um arquivo de Word para poder importa-lo para um sistema próprio, porém a quantidade de alterações que teria que fazer para que ficasse compatível era bem grande e levaria tempo e paciência. Bom, paciência eu tenho bastante, mas o tempo anda bem curto, então precisava de alguma forma agilizar esse processo.  Meu primeiro pensamento foi o de usar expressões regulares (REGEX), porque usava em programação. Observando o sistema de busca e substituição do Word, vi que ele aceitava, de forma limitada, o uso de REGEX.

As expressões regulares são um tipo de linguagem que usa padrões para descrever aquilo que está sendo buscado. Quando uma busca for iniciada, usando REGEX, o que será procurado é algo que se encaixe naquele padrão informado. No Word, existem alguns “caracteres curingas” que podem ser usados para realizar buscas assim e para usar você deve abrir a caixa “Localizar e substituir” e clicar no botão “Mais >>” para acessar as opções avançadas de localização.

Caixa Localizar e Substituir do Microsoft Word

Em seguida marque a caixa de seleção “Usar caracteres curinga”.

Agora você já pode realizar a busca baseada em algum padrão. É verdade que o uso é limitado à alguns padrões pré-determinados, mas pode quebrar um galho em algumas necessidades específicas. Para acessar o conjunto de padrões, você deve clicar no botão “Especial”. Ao clicar, uma lista com os “caracteres curinga” disponíveis será exibida. Atenção:  Se a opção não for marcada, o botão “Especial” exibirá outro tipo de informação.

Opções avançadas de Localizar e Substituir do Microsoft Word

Segue abaixo uma tabela com a explicação de cada caractere curinga, que retirei de um fórum da Microsoft.  

Tabela de Caracteres curingas para uso no Microsoft Word

Como exemplo, digamos que tivéssemos uma lista gigante de identificadores e precisássemos identificar alguns que seguisses determinado padrão. Então vamos procurar seguindo as inforações abaixo:

1- Queremos os identificadores que iniciam com um número de dois dígitos (01,02,03), para isso usaremos o padrão ([0-9]{2}) que quer dizer que procuramos um conjunto de 2 dígitos com duas casas – 00 até 99;

2- Um “.” (Queremos literalmente um ponto);

3- Uma sequência de caracteres específicos, no nosso caso (003). Essa sequencia é literal, ou seja, tem que ser 003;

4- Uma “/” (Queremos literalmente uma barra);

5- Uma sequência de caracteres que representa um ano qualquer (2019/2020/2018), para isso usaremos ([0-9]{4});

6 Um “-” literal que separa o código verificado das sequências do exemplo e para isso podemos usar a mesma expressão do início: ([0-9]{2}).

Assim temos ([0-9]{2}).(003)/([0-9]{4})-([0-9]{2})

Ao executar a busca com essa expressão e seguindo as instruções do tutorial, conforme mostrado na figura abaixo, você vai localizar as sequências que se encaixarem na descrição feita pelo padrão. Destaquei elas em negrito.

01.003/2018-01, 01.005/2020-01, 02.003/2020-01, 03.005/2019-01, 01.003/2020-02, 03.003/2020-01, 01.003/2018-01, 01.003/2018-02

Se quiséssemos especificar a sequência final para 02, por exemplo ficaria assim ([0-9]{2}).(003)/([0-9]{4})(-02) e as sequências identificadas seriam:

01.003/2018-01, 01.005/2020-01, 02.003/2020-01, 03.005/2019-01, 01.003/2020-02, 03.003/2020-01, 01.003/2018-01, 01.003/2018-02

Faça o teste!! E experimente outras coisas, como por exemplo mudar a formatação dos itens encontrados de uma só vez.

Fica a dica!

Substituindo texto no Word usando REGEX.

Há algum tempo precisei manipular algumas informações em um arquivo de Word para poder importa-lo para um sistema próprio, porém a quantidade de alterações...

publicidade

Deixe um comentário:


Deixe seu comentário. Só serão exibidos comentários ligados ao texto do post. Links serão removidos.

Comentários: