Notepad++: Encontre um método em um código-fonte e exclua-o, exceto o argumento

Notepad++: Encontre um método em um código-fonte e exclua-o, exceto o argumento

Tenho vários milhares de arquivos de código. Para o futuro preciso me livrar de um método, mas quero manter o argumento na mesma linha. Gostaria de resolver o problema com regex no Nodepad++

O Método fica assim

self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))

Como resultado, quero o seguinte conteúdo

lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')

Então eu preciso me livrar self.result(dos últimos parênteses)

Encontrei em outro tópico um problema semelhante

Como excluir todo o texto, exceto o que está entre duas strings (Notepad ++)

É óbvio que não posso fazer o seguinte

procurar:

self.result(([^))]*)        #Match "self.result("  followed by any
                            #number of characters which are not "))"

replace with \1)            #replace with what is in between and 
                            #add a parentheses

Alguém pode me ajudar?

Muito obrigado

Responder1

Preciso me livrar de um método, mas quero manter os argumentos na mesma linha

  • Menu "Pesquisar" > "Substituir" (ou Ctrl+ H)

  • Defina "Encontrar o quê" como self.result\((.*)\)\R.

  • Defina "Substituir por" para\1

  • Habilite "Expressão regular" e "corresponde à nova linha"

  • Clique em "Substituir tudo"

    insira a descrição da imagem aqui

Notas:

  • Usar \r\npara EOLs do Windows

  • Use \npara EOLs Unix/OSX

  • Use \rEOLs para Mac OS (até a versão 9)

  • Alternativamente, use \Rwhich deve funcionar em todos os sistemas operacionais

Antes:

self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))

Depois:

lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)') 

Leitura adicional

informação relacionada