Tengo varios miles de archivos de código. Para el futuro necesito deshacerme de un método pero quiero mantener el argumento en la misma línea. Me gustaría resolver el problema con expresiones regulares en Nodepad++
El método se ve así
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
Como resultado quiero el siguiente contenido.
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
Entonces necesito deshacerme de self.result(
y del último paréntesis.)
Encontré en otro hilo un problema similar.
Cómo eliminar todo el texto excepto el que está entre dos cadenas (Notepad++)
Es obvio que no puedo hacer lo siguiente.
buscar:
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
¿Alguien me puede ayudar?
Muchas gracias
Respuesta1
Necesito deshacerme de un método pero quiero mantener los argumentos en la misma línea.
Menú "Buscar" > "Reemplazar" (o Ctrl+ H)
Establezca "Buscar qué" en
self.result\((.*)\)\R
.Establezca "Reemplazar con" en
\1
Habilite "Expresión regular" y "coincide con nueva línea"
Haga clic en "Reemplazar todo"
Notas:
Uso
\r\n
para EOL de WindowsUso
\n
para EOL de Unix/OSXUso
\r
para EOL de Mac OS (hasta la versión 9)Alternativamente use
\R
el cual debería funcionar en todos los sistemas operativos
Antes:
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
Después:
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
Otras lecturas
- Cómo usar expresiones regulares en Notepad++ (tutorial)
- Notepad++: una guía para usar expresiones regulares y el modo de búsqueda extendida
- Tutorial de expresiones regulares
- RegExr: aprenda, cree y pruebe RegEx
- regex101: probador y depurador de expresiones regulares en línea
- RegExper: visualizador de expresiones regulares