[GastForen Programme Print/Bildbearbeitung Adobe InDesign noch eine Frage zu Grep

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

noch eine Frage zu Grep

Duplex
Beiträge gesamt: 62

5. Jul 2010, 21:19
Beitrag # 1 von 15
Bewertung:
(5315 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

leider bekomme ich folgende Problem mit Grep nicht gelöst:

ich versuche, eine umfangreiche Textdatei zu bereinigen:

text text text (Tabulatur) text text (Tabulator) text text text (Tabulatur) text text (Tabulator) text text text

Ich möchte den gesamten Text vor dem ersten Tabulator und dem 2 Tabulator löschen:

Ergebnis: (Tabulator) text text text (Tabulatur)

Mit dem Grep: (?<=\t)[^\t]+ habe ich den Bereich gefunden.

Wie kann ich jetzt den Text davor und danach inkl. der Tabulatoren löschen???

Vielen Dank für Eure Hilfe.
Annett
X

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

6. Jul 2010, 08:38
Beitrag # 2 von 15
Beitrag ID: #446008
Bewertung:
(5279 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich verstehe die Frage vielleicht nicht ganz: Dein Grep findet jeden Text, der einem Tab folgt. Demzufolge auch Text, der drin bleiben soll?!

Dieser Grep findet Text am Anfang eines Absatzes, gefolgt von einem Tab, gefolgt von Text der kein Tab ist:
^[^\t]+\t[^\t]+

Gelöscht werden damit Text > Tab > Text und dein Absatz fängt mit einem Tab an. Ist das das Ziel? Wenn nicht, bitte nochmal beschreiben.


als Antwort auf: [#445983]

noch eine Frage zu Grep

Duplex
Beiträge gesamt: 62

6. Jul 2010, 16:32
Beitrag # 3 von 15
Beitrag ID: #446085
Bewertung:
(5225 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

vielleicht hab ich es etwas schlecht erklärt:

ich habe: Text > Tab > Text > Tab > Text> Tab > Text> Tab > Text
ich brauche davon: Text > Tab > Text > Tab > Text> Tab > Text
also nur den Text zwischen dem ersten und dem zweiten Tab.
Der oben genannte Grep findet in meinem Beispiel auch nur den Text zwischen den beiden Tabs. Und auch nur der Text soll erhalten bleiben und alles andere soll gelöscht werden.

Viele Grüße
Annett


als Antwort auf: [#446008]

noch eine Frage zu Grep

vanlent
Beiträge gesamt: 153

6. Jul 2010, 16:53
Beitrag # 4 von 15
Beitrag ID: #446086
Bewertung:
(5219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Annett,

vielleicht gibt es ja auch noch den Ansatz, das Problem über eine Tabelle zu lösen:
Den Text markieren, in Tabelle konvertieren lassen, dann die betreffenden Spalten löschen, so daß gewünschte Spalte übrig bleibt.
Dann die Tabelle (mit der Restspalte) wieder zu Text konvertieren.

Grüße
Frank


als Antwort auf: [#446085]

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

6. Jul 2010, 17:27
Beitrag # 5 von 15
Beitrag ID: #446089
Bewertung:
(5205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hm, so ganz hab ich´s immer noch nicht. Das Text Tab Text verwirrt mich.

Versuch mal das:

Suchen: ^[^\t]+\t([^\t]+).+
Ersetzen: $1


als Antwort auf: [#446086]

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

6. Jul 2010, 17:36
Beitrag # 6 von 15
Beitrag ID: #446091
Bewertung:
(5191 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kein mit jemand erklären, warum "bla" nach dem Ersetzen seine Farbe verliert und grün wird (siehe Screen)?


als Antwort auf: [#446089]
Anhang:
Farbenwechsel.png (36.5 KB)

noch eine Frage zu Grep

Duplex
Beiträge gesamt: 62

6. Jul 2010, 17:38
Beitrag # 7 von 15
Beitrag ID: #446093
Bewertung:
(5187 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

genau so brauch ich es, vielen, vielen Dank.
Könntest Du mir den Grep zum besseren Verständnis fürs nächste Mal bitte kurz erläutern (die Thematik Grep ist für Laien doch nicht so leicht zu durchschauen).

Dankschön
Annett


als Antwort auf: [#446089]

noch eine Frage zu Grep

vanlent
Beiträge gesamt: 153

6. Jul 2010, 17:40
Beitrag # 8 von 15
Beitrag ID: #446094
Bewertung:
(5185 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Kai Rübsamen ] Kein mit jemand erklären, warum "bla" nach dem Ersetzen seine Farbe verliert und grün wird (siehe Screen)?



Hallo Kai,
ist das Format zufällig verschachtelt? ;)

Grüße
Frank


als Antwort auf: [#446091]

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

6. Jul 2010, 17:47
Beitrag # 9 von 15
Beitrag ID: #446095
Bewertung:
(5176 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Annett,

Antwort auf: Könntest Du mir den Grep zum besseren Verständnis fürs nächste Mal bitte kurz erläutern

Ich kann´s gleich erläutern:

^[^\t]+\t([^\t]+).+

Suche am Absatzanfang alles was kein Tab ist und das mehrfach ^[^\t]+
, gefolgt von einem Tab \t, gefolgt von allem was kein Tab ist [^\t]+, gefolgt von allem was noch im Absatz ist .+.

Das was ich am Schluß behalten möchte, speichere ich als Unterausdruck in () >> ([^\t]+). Nach Ersetzen mit $1 wird nur dieser Inhalt wieder eingefügt und der Rest dadurch gelöscht.

@ Frank: Man weiß ja nie ;-), aber nein. Ich hatte den Text zunächst nur rot und mich gewundert, dass er anschließend schwarz wie alles war. Zum Eingrenzen des Problems habe ich dann den Text zuvor grün und danach blau gefärbt.

Ergebnis: Nach dem Ersetzen wird die Formatierung des Textes vorher übernommen, warum?


als Antwort auf: [#446094]
(Dieser Beitrag wurde von Kai Rübsamen am 6. Jul 2010, 17:52 geändert)

noch eine Frage zu Grep

vanlent
Beiträge gesamt: 153

6. Jul 2010, 17:53
Beitrag # 10 von 15
Beitrag ID: #446096
Bewertung:
(5154 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Kai Rübsamen ] Hallo Annett,

Code
Könntest Du mir den Grep zum besseren Verständnis fürs nächste Mal bitte kurz erläutern 

Ich kann´s gleich erläutern:

Suche am Absatzanfang alles was kein Tab ist und das mehrfach ^[^\t]+
, gefolgt von einem Tab \t, gefolgt von allem was kein Tab ist [^\t]+, gefolgt von allem was noch im Absatz ist .+.

Das was ich am Schluß behalten möchte, speichere ich als Unterausdruck in (). Nach Ersetzen mit $1 wird nur dieser Inhalt wieder eingefügt und der Rest dadurch gelöscht.

@ Frank: Man weiß ja nie ;-), aber nein. Ich hatte den Text zunächst nur rot und mich gewundert, dass er anschließend schwarz wie alles war. Zum Eingrenzen des Problems habe ich dann den Text zuvor grün und danach blau gefärbt.
Ergebnis: Nach dem Ersetzen wird die Formatierung des Textes vorher übernommen, warum?


Hallo Kai,

habe mal eine Erklärung des Herrn (Prof.) Singelmann gesehen, da hat er von Cursorposition gesprochen. Du suchst ja am Absatzbeginn (^), dieser ist grün formatiert, der (Asci-)Unterausdruck in Deiner ()-Klammer, den Du wieder einfügst, wird an dieser Stelle kopiert und übernimmt daher das (grüne) Format.

Grüße
Frank


als Antwort auf: [#446095]

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

6. Jul 2010, 18:09
Beitrag # 11 von 15
Beitrag ID: #446098
Bewertung:
(5127 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Du suchst ja am Absatzbeginn (^), dieser ist grün formatiert, der (Asci-)Unterausdruck in Deiner ()-Klammer, den Du wieder einfügst, wird an dieser Stelle kopiert und übernimmt daher das (grüne) Format.


Hm! Ich sag mal vorsichtig nein:

Folgender Test:
Vor dem ersten Wort ein Leerzeichen eingefügt (schwarz), "T" (grün), "e" blau. Dann mein Grep, egal ob "^" am Anfang oder nicht. Ergebnis siehe Screen.

>> Es wird nicht das Format an der Cursorposition übernommen, sondern das Format der ersten drei Zeichen. Ist das logisch?

Wenn ja, erklärts mir bitte gaaaaaaanz langsam ;-)


als Antwort auf: [#446096]
Anhang:
Farbwechsel2.png (3.51 KB)

noch eine Frage zu Grep

Duplex
Beiträge gesamt: 62

6. Jul 2010, 18:35
Beitrag # 12 von 15
Beitrag ID: #446099
Bewertung:
(5081 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

und herzlichen Dank. So ganz langsam kommt dank Euch etwas Licht ins Dunkle.

Viele Grüße
Annett


als Antwort auf: [#446095]

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

18. Sep 2013, 12:33
Beitrag # 13 von 15
Beitrag ID: #517457
Bewertung:
(3499 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
An den oder diejenige, die mir gerade eine Anfrage per PM mit dem Absender admin geschickt hat?!

Antwort auf: Hallo Hr. Rübsamen,
ich habe Ihre Antwort zu dieser Frage gelesen:

[http://www.hilfdirselbst.ch/gforum/gforum.cgi?post=446008#446008l]

^[^\t]+\t([^\t]+).+

Wie müsste es denn aussehen wenn ich den Text wischen den 3ten und 4ten Tab bräuchte oder zw. 5ten und 6ten?
Mir gelingt es leider so ^[^\t]+\t([^\t]+).+{2} nicht, was mache ich falsch ?

Gruß


Nicht lange nachgedacht, aber bei mir funktioniert folgendes:
S: ^[^\t]+\t[^\t]+\t[^\t]+\t([^\t]+).+
E: $1

also immer [^\t]+\t je nach gewünschter Position dranhängen oder die Kurzform verwenden und einfach die Zahl in der Klammer verändern:
S: ^([^\t]+\t){3}([^\t]+).+
E: $2


als Antwort auf: [#446099]

noch eine Frage zu Grep

admin
Beiträge gesamt: 1

23. Sep 2013, 12:39
Beitrag # 14 von 15
Beitrag ID: #517664
Bewertung:
(3364 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
http://www.hilfdirselbst.ch/gforum/gforum.cgi?post=446008#446008l

Hallo Hr. Rübsamen,
danke für die schnelle Antwort, jetzt ist es mir klar.
Wie kann ich es vermeiden dass im Ergebnis
noch Zeilen die mit "\n" bzw soft return (forced line break) enden hängen bleiben?

Gruß
Thomas


als Antwort auf: [#517457]

noch eine Frage zu Grep

Kai Rübsamen
  
Beiträge gesamt: 4684

23. Sep 2013, 14:14
Beitrag # 15 von 15
Beitrag ID: #517673
Bewertung:
(3335 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das hängt vom gewünschten Ergebnis ab. Wahrscheinlich \n? hinten dran hängen. Dann werden aber evtl. Begriffe aneinander gehängt! Also auch bei Ändern in gegensteuern.


als Antwort auf: [#517664]
X