Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Text zwischen zwei Tags in Notepad++ ersetzen - evtl. mit RegEx? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Text zwischen zwei Tags in Notepad++ ersetzen - evtl. mit RegEx?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Dani
Jungspund


Dabei seit: 24.02.2016
Beiträge: 12

Text zwischen zwei Tags in Notepad++ ersetzen - evtl. mit RegEx? Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen, ich habe ca. 10 Dateien mit Notepad++ geöffnet.

In den Dateien taucht jeweils derselbe Tag, nur mit unterschiedlichen Texten dazwischen, auf.

z.B.
Datei 1:
<mso:name msdt:dt="string">Max Mustermann</mso:name>
Datei 2:
<mso:name msdt:dt="string">Mia Musterfrau</mso:name>
Datei 3:
<mso:name msdt:dt="string">Moritz Musterherr</mso:name>
...

In Notepad++ möchte ich nun alle diese Tags finden und den Text dazwischen mit einem einheitlichen Text austauschen.

Finden möchte ich alle
<mso:name msdt:dt="string">*</mso:name>

und ersetzen durch
<mso:name msdt:dt="string">Nachname, Vorname</mso:name>

Es sollen also in den Dateien bei diesem Tag keine unterschiedlichen Namen mehr drin stehen, sondern einheitlich der Text "Nachname, Vorname".

Ist das mit Notepad++ möglich?
Evtl. mit RegEx?
Wenn ja, wie?
Oder habt ihr mir einfachere Tipps / Programme, mit denen das funktioniert?

Vielen Dank für eure Hilfe

Beste Grüße
Dani

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dani: 14.04.2016 09:48.

14.04.2016 09:48 Dani ist offline E-Mail an Dani senden Beiträge von Dani suchen Nehmen Sie Dani in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Suche mal danach:
code:
1:
<mso:name msdt:dt="string">.*</mso:name>

notepad++ habe ich nicht installiert, um das zu testen. Aber mit gedit hat es geklappt, also bin ich zuversichtlich.

__________________
Syntax Highlighting fürs Board (Link)
14.04.2016 09:53 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Dani
Jungspund


Dabei seit: 24.02.2016
Beiträge: 12

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo "eulersche Zahl", vielen Dank für deine super schnelle Antwort :-)

Das Suchen klappt wunderbar, solange kein Zeilenumbruch im Text ist, also

<mso:name msdt:dt="string">Moritz
Musterherr</mso:name>

Wie kann man solche Situationen noch mit abdecken?

Und wie wäre es, wenn statt normalem Text noch Sonderzeichen eingefügt wären, also z.B.

<mso:name msdt:dt="string">Moritz / Mia;
#Musterherr/Musterfrau</mso:name>

Danke dir

Gruß
Dani

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dani: 14.04.2016 10:22.

14.04.2016 10:13 Dani ist offline E-Mail an Dani senden Beiträge von Dani suchen Nehmen Sie Dani in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
<mso:name msdt:dt="string">[ a-zA-Z\r\n]*</mso:name>


__________________
Syntax Highlighting fürs Board (Link)
14.04.2016 10:21 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Dani
Jungspund


Dabei seit: 24.02.2016
Beiträge: 12

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Habe es einmal mit der Suchfunktion "Extended (\n, \r, \t, \0, \x...)" probiert und einmal mit der Suchfunktion "Regular expression" sowie "Regular expression" inkl. ". matches newline"

Das scheint irgendwie nicht zu funktionieren, aber vielleicht weil auch Tags dabei sind, in denen Sonderzeichen und Zahlen mit im Text stehen.

z.B.

<mso:name msdt:dt="string">Moritz-0 / Mia-1;
#Musterherr-0/Musterfrau-1</mso:name>

Sorry, mache es schon wieder komplizierter geschockt
14.04.2016 10:34 Dani ist offline E-Mail an Dani senden Beiträge von Dani suchen Nehmen Sie Dani in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Schreibe die Zeichen einfach mit in die Klammer rein:
<mso:name msdt:dt="string">[ a-zA-Z\r\n0-9;#/-]*</mso:name>
Kann gut sein, dass es einfacher geht. Reguläre Ausdrücke können recht viel, ich kann auch nur einen Teil davon.

__________________
Syntax Highlighting fürs Board (Link)
14.04.2016 10:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Dani
Jungspund


Dabei seit: 24.02.2016
Beiträge: 12

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei diesem Bsp.

<mso:name msdt:dt="string">Moritz-0 / Mia-1;
#Musterherr-0/Musterfrau-1</mso:name>

findet Notepad++ mit folgender Suche

<mso:name msdt:dt="string">[ a-zA-Z\r\n0-9;#/-]*</mso:name>

Search Mode: Regular expression

nur folgendes:

<mso:name msdt:dt="string">Moritz-0 / Mia-1;

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dani: 14.04.2016 10:59.

14.04.2016 10:58 Dani ist offline E-Mail an Dani senden Beiträge von Dani suchen Nehmen Sie Dani in Ihre Freundesliste auf
Dani
Jungspund


Dabei seit: 24.02.2016
Beiträge: 12

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wildcards,

z.B. <mso:name msdt:dt="string">+.+</mso:name>

und die Suchfunktion "Regular expression" inkl. ". matches newline"

findet für folgendes Bsp.

<mso:name msdt:dt="string">Moritz-0 / Mia-1;
#Musterherr-0/Musterfrau-1</mso:name>

ebenfalls nur die erste Zeile (nur die erste Zeile wird in den Suchergebnissen angezeigt).

Im Text markiert Notepad++ aber beide Zeilen. (wie zuvor auch schon mit deinem Vorschlag <mso:name msdt:dt="string">[ a-zA-Z\r\n0-9;#/-]*</mso:name>)

Wenn er beim "ersetzen durch" dann auch beide Zeilen verwendet, dann würde alles passen. Test folgt.
14.04.2016 11:16 Dani ist offline E-Mail an Dani senden Beiträge von Dani suchen Nehmen Sie Dani in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe jetzt auch mal Windows gestartet.
Bei mir werden beide Zeilen ersetzt.

__________________
Syntax Highlighting fürs Board (Link)
14.04.2016 11:23 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Dani
Jungspund


Dabei seit: 24.02.2016
Beiträge: 12

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Juhu, bin auch zu gleichem Ergebnis gekommen. Es werden beide Zeilen ersetzt.

Funktioniert mit der Suche (RegEx) nach speziellen Zeichen, wenn man alle kennt, die vorkommen, z.B.
<mso:name msdt:dt="string">[ a-zA-Z\r\n0-9;#/- usw...]*</mso:name>
oder mit Wildcards, z.B.
<mso:name msdt:dt="string">+.+</mso:name> (braucht aber die zusätzliche Einstellung ".matches newline")
oder mit der RegEx Suche mit allen üblichen Tokens, wenn man nicht alle speziellen Zeichen kennt, z.B.
<mso:name msdt:dt="string">[\s\S\w\W\d\D\r\n\t\0]*</mso:name>

Herzlichen Dank

Gott

Bis zum nächsten Mal
14.04.2016 11:46 Dani ist offline E-Mail an Dani senden Beiträge von Dani suchen Nehmen Sie Dani in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Text zwischen zwei Tags in Notepad++ ersetzen - evtl. mit RegEx?