Ersetzen Sie alle "aber" Regex Notepad ++

1218
Lottex

Ich habe eine Textdatei mit Zeilen, die wie folgt aussehen: ('8510851205', 'needthishere', '', ''). Ich brauche sie, um alles zu entfernen und nur needthishere in jeder einzelnen Zeile zu hinterlassen. Wie würde ich das machen:

1
Für eine Regex-Lösung erfahren wir sehr genaue Details darüber, in welchen Formaten "needthishere" enthalten sein kann. Zahlen? Mit Bindestrich (oder anderer Interpunktion) überall? Nur Buchstaben? Länge? Wenn eine andere Art von Antwort ausreicht, können Sie einfach alle ", \ s" durch ", \ n" ersetzen und dann etwas Magie (ich kann mehr in einer Antwort erklären, ob dies akzeptabel ist) auf die resultierenden Zeilen ein. panhandel vor 10 Jahren 0
Manchmal nur Buchstaben, manchmal Buchstaben mit Zahlen und die Länge ist immer unterschiedlich Lottex vor 10 Jahren 0
Hier sind 2 Beispiele ('2120986452', 'slthornton', '', ''), ('2121111111', 'strict_daddy4u', '', ''). Ich habe bemerkt, dass es auch ein Punkt sein kann Lottex vor 10 Jahren 0

2 Antworten auf die Frage

0
panhandel

Folgendes würde ich tun.

  1. Suchen Sie nach (Suchmodus: Regulärer Ausdruck):. ', \ S' Ersetzen durch: \ n
  2. Setzen Sie im Suchfenster auf der Registerkarte "Markieren" alle Zeilen mit einem Apostroph in ein Lesezeichen (Kontrollkästchen)
  3. a) Wählen Sie im Suchmenü Lesezeichen und dann "Inverse Lesezeichen".
  4. a) Zu diesem Zeitpunkt sollten Ihre beiden Zeilen mit einem Lesezeichen versehen sein. Sie können zum selben Menü Suchen -> Lesezeichen zurückkehren und Lesezeichenzeilen ausschneiden / kopieren

3b) Wählen Sie im Suchmenü "Remove Bookmarked Lines" (Markierte Zeilen entfernen). Dadurch bleiben nur die beiden Bits übrig, die Sie interessieren

3b.

0
zx81

Hier ist die einfache Regex, nach der Sie suchen.

Wählen Sie in N ++ im Fenster Suchen die Registerkarte Ersetzen aus. Aktivieren Sie das Kontrollkästchen "Reguläre Ausdrücke".

Finden:

^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*'')\),?\s*$ 

Ersetzen:

\1 

Klicken Sie auf die Schaltfläche "Alle ersetzen".

Als Beispiel habe ich dies für diese Datei ausgeführt:

('8510851205', 'needthishere', '', '') ('2120986452', 'slthornton', '', ''),  ('2121111111', 'strict_daddy4u', '', '') 

Die Ausgabe:

needthishere slthornton strict_daddy4u 

Ich hätte es kürzer machen können, aber ich wollte sicherstellen, dass wir den vollständigen Satz von vier Saiten zusammenbringen, nur für den Fall, dass Sie Klammern haben, die anders aussehen. Bitte beachten Sie, dass dies insbesondere davon ausgeht, dass die dritte und vierte Saite leer sind. Wenn Sie Zeichen in diesen Zeichenfolgen zulassen möchten, verwenden Sie stattdessen Folgendes:

^[^)]*\('[^']*',\s*'([^']*)'(?:,\s*'[^']*')\),?\s*$ 

Ich wünsche Ihnen eine tolle Woche!