Transformação de texto usando Notpad++

13:55 0 Comments

Nós programadores passamos dias e dias automatizando tarefas manuais de nossos usuários e muita das vezes deixamos de automatizar tarefas repetitivas de nosso cotidiano. Aquele velho ditado de aplica bem: "casa de ferreiro espeto é de pau".

Uma dica que eu quero passar é como transformar textos utilizando Notepad++ e expressões regulares. 

Para isso vou utilizar um exemplo simples, imagine que você tem uma lista de variáveis conforme abaixo:


Para transformar essas variáveis em propriedades precisamos isolar o nome da propriedade e o tipo. Utilizando a seguinte expressão regular:

" Private _(.*) AS(.*)"

Primeiro declaramos a primeira parte da string que não varia entre as linhas: ' Private _'. Depois declaramos o bloco '(.*)' que será usado para recuperar o nome. Seguindo a mesma ideia declaramos ' AS' seguido do bloco para resgatar o tipo '(.*)'.

Depois colocamos a string que será substituída conforme abaixo:

Public Property \1\(\) As \2 \r\n            Get \r\n                Return _\1 \r\n            End Get \r\n            Set\(ByVal value As \2\) \r\n                _\1 = value \r\n            End Set \r\n        End Property \r\n \r\n

Na string acima temos:

  • '\r\n' usado para quebrar o texto para aproxima linha;
  • '\(',  '\)', '\.' como os caracteres parenteses tem significado em expressões regulares temos que colocar uma barra antes para que sejam tratados como texto comum;
  • '\1', '\2' usado para fazer a substituição do que foi encontrado da expressão regular seguindo a mesma ordem da declaração. No nosso exemplo duas cadeias de texto que selecionamos usando (.*), a primeira é o nome e a segunda é o tipo.



Dentro do Notepad++ basta colar as duas strings e marcar a opção de expressão regular na tela de pesquisa (ctrl+h).

Pressione substituir todos e voila:


O exemplo que eu usei foi bem foi bem trivial, apenas para exemplificar. Mas conforme você vai usando acaba percebendo em quantas situações esse procedimento se enquadra para facilitar nossa vida. Outro ponto que quero salientar é que apesar de eu ter usado o Notepad++ no exemplo outros editores de texto voltado para programadores também tem a opção de substituição usando expressões regulares.

0 comentários: