reguläre Ausdrücke Notepad++ Ersetzungen

sanni74

Lt. Junior Grade
Registriert
Aug. 2011
Beiträge
304
Liebe CB - aktive Programmiererfahrene, ich habe leider ein Problem und hoffe Ihr könnt mir helfen.
Ich nehme an, dass es sich um eine technische "Kleinigkeit" handelt, habe selber aber leider keinerlei Erfahrung mit der Programmiererei.
Es geht um das Einfügen von einer bestimmten Zeichenkette an einer bestimmten Stelle, was in Notepad++ mal als Macro funktionieren soll. Ich habe leider weder hier, noch andereswo "Input" bekommen, welche ich verarbeiten könnte.:freak: Das muss wohl mit regulären Ausdrücken zusammenhängen.

Zum Problem:

.......................Anton+0000************ Maik+.....................
->
.......................Anton+0000************ Thomas+xyz Maik+.....................

Das Anton+0000 steht irgendwo in einer Zeile.
Die * sollen 12 Platzhalter sein, sprich da kommen jetzt 12 Zahlen, die immer verschieden sind und beibehalten werden müssen.
Dann soll ein Thomas+xyz eingefügt werden.
Danch geht mit Maik+.....................die Zeile weiter, wie bisher.

Habe schon viel gesucht und versucht, aber ich kriegs nicht hin. :( ...
 
was ist das Problem?
was willst du jetzt Ersetzen?
Suchen nach Anton+0000 wird ja funktionieren oder?
 
Entschuldigung, falls ich mich etwas verworren ausgedrückt habe.
Ich will ein Thomas+xyz einfügen.
Nur, dass zwischen den Stellen, an denen ich suchen kann (Anton+0000) und dem Einfügepunkt von Thomas+xyz noch 12 andere Zeichen stehen, die dabei exakt beibehalten werden müssen.
Dafür fehlt mir (vermutlich) so ein regulärer Ausdruck.
Vermutlich muss ich diesen so zu sagen variablen Wert dann auch in die Suche miteinbeziehen ?!?

Tante Edith:
Das Problem ist so zu sagen, das der Einfügepunkt nicht direkt vor oder nach der Stelle ist, an der gesucht wird, sondern dass dort diese 12 Variablen Zeichen dazwischen stehen.
 
Zuletzt bearbeitet: (erg.)
Wenn's für Notepad++ sein soll geht's so:

Menü -> Suchen -> Ersetzen

Im Feld "Suchen" eingeben (ohne Anführungszeichen): "Anton\+0000(............)"

Im Feld "Ersezten mit" eingeben: "Anton+0000\1 Thomas+xyz"

und weiter unten natürlich auf "regulärer Ausdruck" klicken ;)


HTH

BigNum
 
Boah, dickes Danke BigNum !
So gehts, Klasse ...
Ich hab da Stunden mit zugebracht ohne Lösung ...

Gibts da eig. deutsche Seiten, die sich mit damit in Notepad näher befassen ?
das mit dem \1 hab ich nirgends entdeckt ...
 
Für mich verständlicher, als das Wiki & Co Zeugs.
Da kann ich mir jetzt erklären, was da bei dem von mir einfach übernommenen "Block" überhaupt passiert.
Danke nochmal.
 
Hi,

vielleicht kann mir auch jemand helfen...

Ich möchte in Notepad++ Folgendes erreichen:

- Alles was zwischen
<name></name> soll überschrieben werden mit xxx.

Also wenn da steht z. B. <name>Testoni</name> soll dann so aussehen: <name>xxx</name>.

Zwischen <name></name> steht immer ein beliebiger Text. Ich kenne allerdings nicht den "universellen" Platzhalter dafür, bei Windows wäre es *. Bei Notepad kenne ich nicht.

Weiß das einer?

Danke im Voraus.
 
Versuch <name>.+</name> , du musst aber Regular Expression aktivieren bei Notepad ++
 
Geht leider nicht, dann wird alles überschrieben.

So sehen die Daten aus:

<wpt lat="50.59971" lon="10.41092"><name>B19 2</name></wpt><wpt lat="47.75214" lon="9.51412"><name>Wernsreute</name></wpt><wpt lat="47.26989" lon="11.3997"><name>Kaiserjägerstraße 6</name></wpt><wpt lat="45.7633" lon="4.85775"><name>Boulevard Marius Vivier Merle</name></wpt><wpt lat="52.42128" lon="10.98538"><name>B188 5</name></wpt>

Ich möchte, dass alles was zwischen <name></name> steht, durch a ersetzt wird.

Wenn ich es so mache, wie von dir vorgeschlagen, reduziert sich alles auf nur einmal <name>a</name>. Also nur einmal, der Rest wird gelöscht.
 
Hi,
nach ca. 2 Stunden endlich die Lösung gefunden...

Vielen Dank an Lupus77 und an Tumbleweed :)
 
Text suchen und in andere Zeile einsetzen! Wer kann helfen?

Ich versuche, mit Noptepad++ in mehreren großen xml-Dateien folgendes zu lösen:
Vorhanden sind Zeilen wie
<BlaBla-ID>abc_def_1277</BlaBla-ID>
<BlaBlaOut-def>No definition line</BlaBlaOut-def>
Erreichen möchte ich, dass die ID aus der ersten Zeile an die Stelle kopiert wird, wo "No definition Line" steht.
Die erste Zeile zu suchen, habe ich hinbekommen,
aber das gefundene "abc_def_1277" in die zweite einsetzen, scheitert (an meinen Kenntnissen).
Kann mir jemand sagen, ob das mit Notepad++ (mit TextFX) überhaupt geht?

Vielen Dank für Eure Hilfe!
hwsn
 
Im "Ersetzen"-Fenster eingeben:

Bei "Suche": <BlaBla-ID>(.*?)</BlaBla-ID>\r\n<BlaBlaOut-def>.*?</BlaBlaOut-def>

Bei "Ersetzen": <BlaBla-ID>\1</BlaBla-ID>\r\n<BlaBlaOut-def>\1</BlaBlaOut-def>

Bei "Suchmodus" "regulärer Ausdruck" auswählen.

Und das nächste Mal einen neuen Thread aufmachen anstatt Deine Frage an einen alten Thread anzuhängen.


HTH

BigNum
 
Danke für die schnelle Antwort.
Leider funktioniert es so noch nicht, Notepad++ findet damit die Zeilen nicht.

Ein weiteres Problem hat sich aufgetan: Einige meiner Dateien sind größer als 3GB,
Notepad kann sie leider nicht öffnen.

Ich schreibe nun bessr ein php-Script.

Vielen Dank nochmal!
hwsn
 
Zurück
Oben