[Notepad++] Suchen und ersetzen für Fortgeschrittene...

lagom

Cadet 2nd Year
Registriert
Okt. 2014
Beiträge
18
Hi,

nachdem mir in diesem Thread
https://www.computerbase.de/forum/threads/notepad-makro-erstellen-suchen-loeschen-innerhalb-von-html-tags.1399801/#post-16376781
schon super geholfen wurde, wende ich mich nun mit einem neuen (wenn auch ähnlichem) Problem an euch:

Mein Rohmaterial sieht in ungefähr so aus:
V99 bewegt haben, in der heutigen Zeit <B>zu ehren.</>
V99 am vergangenen Samstag ein Medientag <B>zu Ehren</> des Buches veranstaltet.
V99 So wurde heuer <B>zu</> seinen <B>Ehren</> ein Jubiläumsschießen
V99 Kunstsprache des zuerst in Deutschland <B>zu Ehren</> gekommenen österreichischen
V99 <B>Zu Ehren</> Hermann Gmeiners wurde der
V99 mit einem Drink für eine sprühende Rede <B>zu</> ihren <B>Ehren</> auf, begann dann heftig zu
V99 Die Kapelle wurde im Jahr 1899 <B>zu Ehren</> des hl. Erzengels Michael errichtet
V99 <B>Zu Ehren</> des Kaisers oder der Region
V99 im neuen Stadtteilpark im Hatlerdorf, der <B>zu Ehren</> des SOS - Kinderdorfgründers den Namen
V99 Den Baum hatte die Agrargemeinschaft <B>zu Ehren</> von Hofrat DI Josef Märk der

Mithilfe des obengenannten Threads habe ich Notepad++ mit dem Befehl nach
(<b>)([\w,\s]*)(</b>)
suchen und durch
ersetzen schon soweit, dass meine Liste in ungefähr so aussieht:
Gaddafis
BRZ09 aller Vormittagskinder kurz zuvor
<B>zu</>
ihren
<B>Ehren</>
abgehalten hatte.
BRZ09 Um 15 Uhr wird das große Ritterturnier
<B>zu Ehren</>

Nun hätte ich die Liste gerne so, dass sie wie im folgenden Bild in den ersten 5 Zeilen aussieht.

frage.JPG

Mit der im anderen Thread vorgeschlagen weiteren Vorgehensweise habe ich folgendes Problem: Wenn ich nun alles lösche, was nicht als Lesezeichen markiert ist, würde das auch dazu führen, dass aus
<B>zu</> ihren <B>Ehren</>
nur noch
werden würde. Jedoch geht es mir gerade um die Wörter die zwischen "zu" und "Ehren" stehen können.

Wonach muss ich nun suchen und ersetzen um weiterhin alles vor und nach den <>-Tags zu löschen, außer dem, was dazwischen steht?

Danke schonmal. Für manuelles Löschen sind meine Datenmengen leider viel zu groß...

Grüße,
lagom
 
Mir ist nicht ganz klar, was genau nun dein Ziel ist. Wenn tatsächlich wie in den ersten 5 Zeilen auf einem Bild da immer <B>zu Ehren</B> stehen soll, hätte das ja nichts mehr mit dem Ausgangstext zu tun. Dass der Ausschnitt aus dem Rohmaterial und der Ausschnitt zum Thema bisherige Bearbeitung verschiedene Stellen zeigen, hilft beim Verständnis auch nicht wirklich weiter.

Gib bitte mal zu ein paar Zeilen Beispieleingabe das Ergebnis an, welches du am Ende haben möchtest. Im Idealfall sollten dabei alle möglichen Schwierigkeiten, die in der Eingabe auftreten (können), auch zu sehen sein.
 
Danke für den Hinweis.

Vorher:
frage2.JPG

Und nachher soll es so aussehen:
frage3.JPG
 
[A-Za-z0-9 öäüÄÖÜß,.-]*(<b>[A-Za-z0-9 ]*<.*>)[A-Za-z0-9 öäüÄÖÜß,.-]*

$1


kommt dem gewünschten Ergebnis schon nahe, aber es bleiben noch die Zeilen Stehen in denen kein <b> vorkommt.
 
Zuletzt bearbeitet:
Falls ich es nun richtig verstanden habe (das Problem also noch das Löschen der verbleibenden Inhalte ist) kannst du das z.B. so machen:

Suchen nach <b>(.*)<.*> wie von gozza vorgeschlagen und ersetzen durch \n[blub]$1\n (oder statt [blub] eben irgendwas, das im Text sonst nicht auftaucht)
Lesezeichen setzen für jedes Vorkommen von [blub]
Zeilen ohne Lesezeichen löschen
[blub] sowie verbleibende Vorkommen von <b> und </> entfernen (d.h. ersetzen durch nichts)
 
Zuletzt bearbeitet: (Leerzeichen -> Lesezeichen...)
Danke!

Es bleiben zwar noch ab und an ein paar Sachen stehen, die da nicht hingehören (siehe Bild), aber das kann auch an meinen ursprünglichen Daten liegen.

frage 4.JPG

Von daher: Vielen Dank!
Ergänzung ()

Nachfrage:

Wenn ich alle "ehren" löschen möchte, die klein geschrieben sind (also die Verben), was muss ich dann suchen? Wenn ich nach "ehren" suche, werden auch alle groß geschriebenen markiert.
 
Zuletzt bearbeitet:
Den Haken bei Groß-/Kleinschreibung beachten setzen.
 
Zurück
Oben