Notepad++: Suchen Sie eine Methode in einem Quellcode und löschen Sie sie mit Ausnahme des Arguments

Notepad++: Suchen Sie eine Methode in einem Quellcode und löschen Sie sie mit Ausnahme des Arguments

Ich habe mehrere tausend Codedateien. Für die Zukunft muss ich eine Methode loswerden, aber ich möchte das Argument in derselben Zeile behalten. Ich möchte das Problem mit Regex in Nodepad++ lösen

Die Methode sieht so aus

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

Als Ergebnis möchte ich folgenden Inhalt

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

self.result(Also muss ich die letzten Klammern entfernen.)

Ich habe in einem anderen Thread ein ähnliches Problem gefunden

So löschen Sie den gesamten Text außer dem zwischen zwei Zeichenfolgen (Notepad++)

Es ist offensichtlich, dass ich Folgendes nicht tun kann

suchen nach:

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

Kann mir jemand helfen?

Vielen Dank

Antwort1

Ich muss eine Methode loswerden, möchte aber die Argumente in derselben Zeile behalten

  • Menü "Suchen" > "Ersetzen" (oder Ctrl+ H)

  • Setzen Sie „Suchen nach“ auf self.result\((.*)\)\R.

  • Setzen Sie "Ersetzen durch" auf\1

  • Aktivieren Sie „Regulärer Ausdruck“ und „stimmt mit Zeilenumbruch überein“

  • Klicken Sie auf „Alle ersetzen“

    Bildbeschreibung hier eingeben

Anmerkungen:

  • Verwendung \r\nfür Windows-EOLs

  • Verwendung \nfür Unix/OSX EOLs

  • Verwendung \rfür Mac OS (bis Version 9) EOLs

  • Alternativ verwenden Sie \R, was auf jedem Betriebssystem funktionieren sollte

Vor:

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

Nach:

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

Weiterführende Literatur

verwandte Informationen