Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

HTML-Editor phase 5 Support _ Allgemeine Diskussion zum Programm _ So ersetzt man Tabulatoren dateiübergreifend!

Geschrieben von: farinasvater 12.01.2008 - 20:18

Hallo zusammen,

durch Zufall hab ich rausgefunden, wie man Tabulatoren über "Suchen & Ersetzen F11" suchen und ersetzen kann.

\t für Tabulator eingeben und Reguläre Ausdrücke anhaken. Gewusst wie. icon13.gif

Beste Grüße Andreas

Geschrieben von: mac 28.08.2008 - 15:11

...und wie funktioniert das, wenn ich die Tabs behalten will?
\t im Textfeld für "Ersetzen" ergibt im Text tatsächlich '\t'.

Geschrieben von: db 28.08.2008 - 16:31

ZITAT(farinasvater @ 12.01.2008 - 21:18) *
Hallo zusammen,

durch Zufall hab ich rausgefunden, wie man Tabulatoren über "Suchen & Ersetzen F11" suchen und ersetzen kann.

\t für Tabulator eingeben und Reguläre Ausdrücke anhaken. Gewusst wie. icon13.gif

Beste Grüße Andreas


Damit wir nicht auf den nächsten Zufall warten müssen, empfehle ich einen Blick in die Hilfe.

http://www.phase5.info/Hilfe/index.html?new_item.html

Geschrieben von: mac 28.08.2008 - 16:45

ZITAT(db @ 29.08.2008 - 1:31) *
Damit wir nicht auf den nächsten Zufall warten müssen, empfehle ich einen Blick in die Hilfe.

Die hab ich gelesen. Auch das Forum.
Ich hoffe, man muß das nicht jedesmal zuerst erwähnen, bevor man eine Frage stellt.

Leider finde ich dort für meine Frage keine Lösung. Vielleicht hab ichs auch nicht gerafft. Für mich gehts da meistens nur um SUCHmuster.
Mir gehts aber darum, im Textfeld ERSETZEN einen Tabulator zu verwenden. '\t' funktioniert nicht. In 5.4.x ging das noch.

Geschrieben von: db 28.08.2008 - 17:43

ZITAT(mac @ 28.08.2008 - 17:45) *
ZITAT(db @ 29.08.2008 - 1:31) *
Damit wir nicht auf den nächsten Zufall warten müssen, empfehle ich einen Blick in die Hilfe.

Die hab ich gelesen. Auch das Forum.
Ich hoffe, man muß das nicht jedesmal zuerst erwähnen, bevor man eine Frage stellt.

Leider finde ich dort für meine Frage keine Lösung. Vielleicht hab ichs auch nicht gerafft. Für mich gehts da meistens nur um SUCHmuster.
Mir gehts aber darum, im Textfeld ERSETZEN einen Tabulator zu verwenden. '\t' funktioniert nicht. In 5.4.x ging das noch.


So so, in 5.4 ging das also.

1. In 5.4 gab es beim dateiübergreifenden Suchen und Erstezen kein RegExpr.
2. Im Editor wurde Suchen und Ersetzen nicht geändert.

Reguläre Ausdrücke im Editor WIE IN 5.4:

Zeichen Beschreibung

^ Ein Circumflex am Anfang einer Zeichenkette findet den Anfang einer Zeile
$ Ein Dollar Zeichen am Ende einer Zeichenkette findet das Ende einer Zeile.
. Ein Punkt findet jedes Zeichen.
* Ein Stern nach einer Zeichenkette findet jede beliebige Anzahl an Vorkommen der Zeichenkette, gefolgt von beliebigen Zeichen (auch keine Zeichen). Zum Beispiel findet bo* bot, bo und boo aber nicht b.
+ Ein Pluszeichen nach einer Zeichenkette findet jede beliebige Anzahl an Vorkommen der Zeichenkette, gefolgt von beliebigen Zeichen, aber nicht keine Zeichen. Zum Beispiel findet bo+ boo und booo, aber nicht bo oder be.

[ ] Zeichen in Klammern finden jedes einzelne Zeichen, daß in der Klammer vorkommt, aber keinen anderen. Zum Beispiel findet [bot] b, o oder t.
[^] Ein Circumflex am Anfang einer Zeichenkette in Klammern bedeutet NICHT. Daher findet [^bot] alle Zeichen außer b, o oder t.
[-] Ein Bindestrich in Klammern zeigt einen Bereich von Buchstaben an. Zum Beispiel findet [b-o] jedes Zeichen von b bis o.
{ } Geschweifte Klammern gruppieren Zeichen oder Ausdrücke. Gruppen können verschachtelt werden, mit maximal zehn Gruppen in einer Maske. Bei der Ersetzungsoperation werden die Gruppen durch einen umgekehrten Schrägstrich und eine Nummer bezeichnet, die sich auf die Position im Suchtext bezieht und bei 0 beginnt. Ein Beispiel: Mit dem Suchtext {[0-9]}{[a-c]*} und dem Ersetzungs-String NUM\1 würde der String 3abcabc in NUMabcabc geändert.

\ Ein umgekehrter Schrägstrich vor einem Platzhalterzeichen weist den Quelltext-Editor an, Zeichen wörtlich und nicht als Platzhalterzeichen zu verwenden. Zum Beispiel findet \^ ^ und sucht nicht nach dem Anfang einer Zeile.

Geschrieben von: mac 28.08.2008 - 18:09

ZITAT(db @ 29.08.2008 - 2:43) *
So so, in 5.4 ging das also.

Ok: zur Klarstellung: Mir gehts ausschießlich um dateiübergreifendes Suchen & Ersetzen
und das dateiübergreifende Suchen UND ERSETZEN von Tabs ging in 5.4.x.

ZITAT(db @ 29.08.2008 - 2:43) *
In 5.4 gab es beim dateiübergreifenden Suchen und Erstezen kein RegExpr.

Das stimmt natürlich. Mit TABs konnte man dort aber arbeiten.

ZITAT(db @ 29.08.2008 - 2:43) *
2. Im Editor wurde Suchen und Ersetzen nicht geändert.

ja, s.o.

ZITAT(db @ 29.08.2008 - 2:43) *
Reguläre Ausdrücke im Editor WIE IN 5.4:
...

Die exzessive Verwendung von regulären Audrücken ist mir vertraut. Trotzdem Danke.

ZITAT(db @ 29.08.2008 - 2:43) *
Ein Beispiel: Mit dem Suchtext {[0-9]}{[a-c]*} und dem Ersetzungs-String NUM\1 würde der String 3abcabc in NUMabcabc geändert.

Hab ich spaßhalber mit Phase5 geprüft:
  1. Der String '3abcabc' wurde mit dem Suchmuster '{[0-9]}{[a-c]*}' nicht gefunden (nur bei Weglassen der geschweiften Klammern).
  2. Statt 'NUMabcabc' wurde dann aus dem Text direkt 'NUM\1'.

Zur eigentlichen Frage "Wie kann ich dateiübergreifend ein Suchmuster durch TAB(s) ERSETZEN?" (wie in 5.4.x) konnte ich der Antwort leider nichts entnehmen.

Geschrieben von: Thomas 28.08.2008 - 18:38

ZITAT(mac @ 28.08.2008 - 19:09) *
Hab ich spaßhalber mit Phase5 geprüft:
  1. Der String '3abcabc' wurde mit dem Suchmuster '{[0-9]}{[a-c]*}' nicht gefunden (nur bei Weglassen der geschweiften Klammern).
  2. Statt 'NUMabcabc' wurde dann aus dem Text direkt 'NUM\1'.

Auch wenn es nicht deine eigentlich Frage war: Hast du bei den Optionen auch "Reguläre Ausdrücke" aktiviert? Bei mir wird dann nämlich '3abcabc' gefunden. Was die Ersetzung betrifft, hatte ich allerdings auch das Ergebnis, dass 'NUM\1' dabei heraus kam (trotz geschweifter Klammern).

Was deine eigentliche Frage betrifft - meine Test haben zu keinem Ergebnis geführt, so dass mein Fazit lautet: Es ist nicht möglich, im Ersetzen-Ausdruck einen Tabulator vorzugeben. Aber vielleicht gibt es von Programmiererseite noch eine anderslautende Antwort dazu.

Geschrieben von: mac 28.08.2008 - 19:01

ZITAT(Thomas @ 29.08.2008 - 3:38) *
Auch wenn es nicht deine eigentlich Frage war: Hast du bei den Optionen auch "Reguläre Ausdrücke" aktiviert? Bei mir wird dann nämlich '3abcabc' gefunden. Was die Ersetzung betrifft, hatte ich allerdings auch das Ergebnis, dass 'NUM\1' dabei heraus kam (trotz geschweifter Klammern).

Zum Suxhtreffer:

Anbei der Code...
QUELLTEXT
</div>

3abcabc

<!-- content -->
<div id="content">


...und hier die Einstellungen (Version 5.6.2.1).
 phase5.png ( 12.94KB ) : 14


Ich denke, daß es stimmt.
Fürs Ersetzen wird das ja vielleicht als Anregung aufgenommen (oder ist möglicherweise auch schon).

ZITAT(Thomas @ 29.08.2008 - 3:38) *
Was deine eigentliche Frage betrifft - meine Test haben zu keinem Ergebnis geführt, so dass mein Fazit lautet: Es ist nicht möglich, im Ersetzen-Ausdruck einen Tabulator vorzugeben. Aber vielleicht gibt es von Programmiererseite noch eine anderslautende Antwort dazu.

Ich bin einfach gespannt. Vielleicht ists ja auch ne Anregung.

Geschrieben von: Thomas 28.08.2008 - 23:59

ZITAT(mac @ 28.08.2008 - 20:01) *
...und hier die Einstellungen (Version 5.6.2.1).
 phase5.png ( 12.94KB ) : 14

Die Angaben bezogen sich auf das Suchen/Ersetzen im Dokument (nicht dateiübergreifend) - das erklärt, warum die {} nicht funktioniert haben wink.gif.

Geschrieben von: i.b.g 29.08.2008 - 6:22

Hallo,

ZITAT(mac @ 28.08.2008 - 20:01) *
...und hier die Einstellungen (Version 5.6.2.1).
 phase5.png ( 12.94KB ) : 14
auch ich arbeite durch meine PERL-Erfahrung gern und viel mir RegEx. Ich hätte, selbst wenn ich es nicht gewusst hätte, auch mal das Häkchen vor der Option "Substitution" gesetzt, mit der die in RegEx bekannten Backreferences eingeschaltet werden, so dass das Suchergebnis im Ersetzungsstring verwendet werden kann.

Geschrieben von: mac 29.08.2008 - 8:06

Hm!. Wir komen wohl etwas vom Thema ab...aber es interessiert mich. Sind wir dann noch im richtigen Thread?

ZITAT(Thomas @ 29.08.2008 - 8:59) *
Die Angaben bezogen sich auf das Suchen/Ersetzen im Dokument (nicht dateiübergreifend) - das erklärt, warum die {} nicht funktioniert haben wink.gif.

Das habe ich nicht verstanden. Auf was sonst sollte sichs denn beziehen? Ich suche doch dateiübergreifend Textmuster in der jeweiligen Datei (Dialog 'Suchen & Ersetzen').

ZITAT(i.b.g @ 29.08.2008 - 15:22) *
auch ich arbeite durch meine PERL-Erfahrung gern und viel mir RegEx. Ich hätte, selbst wenn ich es nicht gewusst hätte, auch mal das Häkchen vor der Option "Substitution" gesetzt, mit der die in RegEx bekannten Backreferences eingeschaltet werden, so dass das Suchergebnis im Ersetzungsstring verwendet werden kann.

Ich habe auch alle anderen "Häkchen-Varianten" mit demselben Ergebnis getestet.

Geschrieben von: Thomas 29.08.2008 - 8:42

ZITAT(mac @ 29.08.2008 - 9:06) *
Hm!. Wir komen wohl etwas vom Thema ab...aber es interessiert mich. Sind wir dann noch im richtigen Thread?
ZITAT(Thomas @ 29.08.2008 - 8:59) *
Die Angaben bezogen sich auf das Suchen/Ersetzen im Dokument (nicht dateiübergreifend) - das erklärt, warum die {} nicht funktioniert haben wink.gif.
Das habe ich nicht verstanden. Auf was sonst sollte sichs denn beziehen? Ich suche doch dateiübergreifend Textmuster in der jeweiligen Datei (Dialog 'Suchen & Ersetzen').

Dieter hat im ersten Beitrag auf die Hilfe verwiesen (für das dateiübergreifende Suchen/Ersetzen, [F11]) und im zweiten Beitrag einen expliziten Hilfetext angegeben - dieser Hilfetext (das mit den geschweiften Klammern) bezog sich auf das Suchen/Ersetzen in der aktuellen Datei ([STRG]-[R]). Deshalb hat bei dir das Nachvollziehen des Beispieles nicht funktioniert - du hast den von Dieter für die Suche in der aktuellen Datei angegebene Suchausdruck in der dateiübergreifenden Suche eingesetzt. Dort musst du allerdings normale Klammern verwenden (keine geschweiften). Mit dem Suchausdruck "([0-9])([a-c]*)" und der Option "Substitution aktivieren" funktioniert es auch beim dateiübergreifenden Ersetzen. Beim Ersetzen in der aktuellen Datei werden die Ausdrücke "\1" ff. nicht ersetzt - insofern funktioniert Dieters Beispiel leider auch nicht für das Ersetzen in der aktuellen Datei, obwohl es dafür gedacht war.

Also nochmal zusammenfassend:Ich hoffe, damit hat sich die Verwirrung geklärt und wir können das als erledigt betrachten. Falls nicht, bitte eine PN an mich, bevor hier noch mehr Konfusion entsteht, weil man aneinander vorbeiredet.

Und damit das nicht untergeht, stelle hier auch nochmal die eigentliche Frage: Ist es möglich, im Ersatzausdruck beim dateiübergreifenden Ersetzen einen Tabulator anzugeben und wenn ja, wie?

Geschrieben von: mac 29.08.2008 - 10:01

Ahh! Ok! Alles klar. Besten Dank!!!
Vielleicht werden ja Platzhalter noch für die Suche in einer Datei implementiert.
Ansonsten frage ich mich aber, warum hier unterschiedliche Syntax zur Anwendung kommt, zumal ja beide Schreibweisen bei regulären Ausdrücken ihre jeweilige Bedeutung haben.
Bei der Hauptfrage bleibe ich neugierig.

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)