Search and Add, statt Search and Replace

SP1D3RM4N

Lt. Commander Pro
🎅Rätsel-Elite ’13
Registriert
Mai 2012
Beiträge
1.563
Hallo zusammen,

ich würde gerne in einer Textdatei folgendes machen:
111hierstehtetwas111 = 222hierstehtauchetwas222
soll zu:
111hierstehtetwas111 = 222hierstehtauchetwas222 - 111hierstehtetwas111
werden.

Leider habe ich keine Ahnung wie ich das umsetzten kann. Ich hatte an eine Art "Search and Replace" funktion von Notpad++ gedacht, komme hier aber nicht weiter. Auf google habe ich leider auch nichts gefunden, da suche ich scheinbar falsch :p.

Hat vielleicht jemand eine Idee? Ich nutze Windows10 und habe im Moment leider keinen Zugang zu Linux, falls das hilft.
Warum frage ich? Weil das Dokument über 2000 Zeilen hat. Ich weiß, da kommt man auch durch, aber wenn es einen besseren Weg gibt, warum nicht. :)
 
Hi,

sind "111hierstehtetwas111" und "222hierstehtauchetwas222" dynamische Werte oder geht es dabei um Fixwerte?

VG,
Mad
 
Fixwerte
 
ich möchte nichts ersetzten. Ich möchte was kopieren und am Ende anfügen
 
Hi,

genau das meine ich auch. Wenn es fixe Werte sind kannst du doch z.B. in Notepad++ mit "Suchen und Ersetzen" genau das machen was du möchtest. Oder? Was klappt denn nicht?

Suche nach: 111hierstehtetwas111 = 222hierstehtauchetwas222
Ersetze durch: 111hierstehtetwas111 = 222hierstehtauchetwas222 - 111hierstehtetwas111

VG,
Mad
 
Machst Du es Dir nicht zu kompliziert?

Angenommen Du willst "Mond" durch "Sonne und Mond" ersetzen, dann gib doch genau das ein.

Mond wird dann nicht mehrfach verarbeitet. Wenn Du es probieren willst ersetz halt "Mond" durch "Sonne und Mönd" und in Schritt zwei "Mönd" durch "Mond"
 
Vielleicht stehe ich ja gerade auf dem Schlauch, aber man kann mit einem Ersetzen auch das zu Suchende beibehalten, indem man es einfach wieder in das Ersetzen-Mit-Feld einträgt.

suchenersetzenhinzufügen.png


€dit: Zu langsam.
 
Ich müsste das 2000 mal machen. Das ist mein Problem.

Sorry, dass ich das nicht richtig betont habe.
 
Hi,

wie, 2000 Mal - also ist es doch kein Fixwert, sondern irgendwas dynamisches? Poste doch bitte einfach mal ein konkretes Beispiel!

VG,
Mad
 
Du meinst, dass die Werte/ Felder sich ändern je Zeile?
Vielleicht mal in Excel importieren, da gibt's ein paar mehr Möglichkeiten. Ansonsten könnte ne RegEx helfen.
 
Konkret geht leider nicht. :/ (Ist für die Arbeit)
Ich versuche es noch einmal:

Vorher
AAA = BBB KKK = OOO LLL = HHH YYY = ZZZ

Nachher
AAA = BBB - AAA KKK = OOO - KKK LLL = HHH - LLL YYY = ZZZ - YYY

Und ich habe hier nicht nur 4 Zeilen, die ich anfassen müsste, sondern 2000.
 
Hi,

aber es ist immer das selbe Schema? Also z.B. Anzahl Buchstaben vor dem "="? Dann wäre da ein regulärer Ausdruck vermutlich sinnvoll. Den kann man aber nur bauen, wenn man das Schema wirklich kennt, das geht nicht mit abstrakten Beispielen. Siehe z.B. hier

Wenn es für die Arbeit ist frag mal bei der IT nach, da sollte jemand sitzen der dir da weiterhelfen kann.

VG,
Mad
 
Bei Notepad++ kannst Du mit gedrückter Alt-Taste vertikal markieren, ohne die gesamten Zeilen auszuwählen. Also entweder Alt+Maus markieren oder Alt+Shift+Pfeiltasten. Dann einfach per Copy und Paste hinten ein - und die erste Spalte einfügen:

Clipboard02.jpg
 
Die frage ist ja auch, ob der Text, der hinzugefügt werden soll irgendwo in einer Liste existiert. Dann könntest Du mit einem entsprechenden script zum Beispiel in VBS da was machen. Wäre aber aufwendig...
 
Vielen lieben Dank für die Tips!
@PoD-BoT: Da habe ich einen Fehler gemacht, der erste Teil ist leider immer unterschiedlich lang.... (Aber den Tip kann ich trotzdem gut gebrauchen:))
@Madman1209: Ich denke wirklich, dass ich hier zu nem Entwickler renne :P
@Demon_666: Aufendiger als es bei 2000 Zeilen von Hand zu machen ;). (In meinem Fall wahrscheinlich ja^^)
 
PoD-BoT schrieb:
Vielleicht mal in Excel importieren, da gibt's ein paar mehr Möglichkeiten. Ansonsten könnte ne RegEx helfen.

Gute Idee! Wenn man nach Leerzeichen Gleichheitszeichen Leerzeichen sucht und das mit \t ersetzt, erhält man den vorderen Teil und kann es spaltengetrennt in Excel importieren. Dort dann mit =VERKETTEN bzw. dem Kaufmannsund/Ampersand/& arbeiten, um die Zeichenkette so zu basteln, wie man will.


suchenersetzenhinzufügenexcel.png


In der Spalte D1 bis D4 steht die Formel für C1 bis C4.
 
Zuletzt bearbeitet:
Zurück
Oben