it-swarm.com.de

Suchen und Ersetzen von Text zwischen ^ und ~ in Notepad ++

Ich habe eine große Textdatei, in der ich den gesamten Text zwischen dem Symbol ^ und dem Symbol ~ entfernen möchte. Dies muss auch über mehrere Zeilen hinweg funktionieren.

Ich habe versucht, ein reguläres Suchen und Ersetzen mit ^*~ im Feld Suchen und nichts im Feld Ersetzen durchzuführen, aber es wurden 0 Ergebnisse gefunden.

20
Splendor

Dies ist mit einem regulären Suchen und Ersetzen nicht möglich. Wenn Sie Notepad ++ 6 verwenden, können Sie die neue Regex-Engine nutzen, die PCRE ( source ) unterstützt.

Drücken Sie Ctrl + H Öffnen Sie das Dialogfeld Suchen und Ersetzen und führen Sie die folgende Aktion aus:

Find what:          \^.*?~
Replace with:       
Wrap around:        checked
Regular expression: selected
. matches newline:  checked

Jetzt drücken Alt + A alle Vorkommen zu ersetzen.

Der reguläre Ausdruck in Suchen Sie, was wie folgt zusammengesetzt ist:

  • \^ ist ein Literal ^ .
  • .*? ist die Mindestanzahl von Zeichen, mit der der reguläre Ausdruck übereinstimmen kann.
  • ~ ist ein Literal ~ .
21
Dennis

Du wirst nach \^.*?~ suchen wollen und sicherstellen . entspricht newline ist aktiviert:

enter image description here

Dies liegt daran, dass ^ eine spezielle Bedeutung hat und mit dem Zeilenanfang übereinstimmt. Daher müssen wir es mit einem Backslash \^ umgehen.

Das Schreiben von ^* würde mit "einer beliebigen Anzahl von Zeilenbeginn in einer Zeile" übereinstimmen. .* stimmt mit "einem beliebigen Zeichen" überein, entspricht jedoch standardmäßig nicht den Zeilenumbrüchen.

8
Der Hochstapler

Versuchen Sie, diese Regex im Abschnitt \^[^~]*~ zu verwenden, um alles zwischen ^ und ~ einschließlich zu ersetzen.

2
barlop

Ich hatte eine ähnliche ZWISCHEN Ersatzanforderung mit Start- und Endzeichen. Dies kam aus Outlook-E-Mail; Hunderte von Mitgliedern und ich wollten nur die Personennamen mit allem, was zwischen < RemoveTextHere > entfernt wurde.

Original

First1 Last1 <[email protected]>; First2 Last2 <[email protected]>; First3 Last3 <[email protected]>; First4 Last4 <[email protected]>;

Dennis stand kurz vor meiner Lösung Find what: \^.*?~, aber ich musste meine wörtlichen Zeichen Find what: \<.*?> ändern und dann den ersten Schrägstrich Find what: <.*?> entfernen.

Updated Find what: <.*?>; Leer ersetzen.

First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4

_

Sonderzeichen : *, $, \, +, ^, ( und ), [, ], { und }

Sonderzeichen werden von Jerry Jeremiah hier https://stackoverflow.com/questions/37742519/notepad-wildcard beschrieben.