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.
.*?
Muster arbeitete für mich, um zwischen Buchstaben von;
und zu suchen<
. Die Suche lautet also "FIND;.*?<
REPLACE";
mit den fürRegular expression
und ausgewählten Optionen.. matches new line
Du wirst suchen
\^.*?~
und sicherstellen wollen . entspricht newline ist aktiviert:Dies liegt daran, dass
^
es eine besondere Bedeutung hat und dem Zeilenanfang entspricht. Daher müssen wir es mit einem Backslash umgehen\^
.Das Schreiben
^*
würde mit "einer beliebigen Anzahl von Zeilenanfang in einer Reihe" übereinstimmen..*
stimmt mit "einem beliebigen Zeichen" überein, entspricht jedoch standardmäßig nicht den Zeilenumbrüchen.quelle
~
Zeichen gibt (oder mehrere Übereinstimmungen), wird die erste^
bis zur letzten übereinstimmen~
.*?
dass nicht gierig ist, es ist faul,.*?~
wird nie mehr als einer entsprechen~
. Also ist es in Ordnung.Versuchen Sie, diesen regulären Ausdruck im Abschnitt Suchen
\^[^~]*~
zu verwenden, um alles zwischen ^ und ~ einschließlich zu ersetzen.quelle
^~
.\^[^~]*~
mit^~
?Ich hatte eine ähnliche ZWISCHEN Ersatzanforderung für 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
Dennis war nah an meiner Lösung,
Find what: \^.*?~
aber ich musste meine wörtlichen Zeichen ändern undFind what: \<.*?>
dann den ersten Schrägstrich entfernenFind what: <.*?>
.Aktualisiert
Find what: <.*?>
; Leer ersetzen._
Sonderzeichen :
*
,$
,\
,+
,^
,(
und)
,[
,]
,{
und}
Sonderzeichen werden von Jerry Jeremiah hier /programming/37742519/notepad-wildcard beschrieben .
quelle