Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP-Metazeichen für Anfang einer Tabellenzelle

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

GREP-Metazeichen für Anfang einer Tabellenzelle

Martin Fischer
  
Beiträge gesamt: 12779

10. Sep 2015, 15:56
Beitrag # 1 von 4
Bewertung:
(2212 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen,

ich suche ein Metazeichen für den Anfang einer Tabellenzelle.

\A bezeichnet den Anfang eines Textflusses.
\Z bezeichnet das Ende eines Testflusses.
Mit letzterem lässt sich auch das Ende einer Tabellenzelle bei der Suche berücksichtigen.

Mit \A\Z lassen sich "leere" Textflüsse (und damit leere Textrahmen) u.U. schneller finden, als mit einer Schleife durch alle Textflüsse und die Zählung der characters.

Nun suche ich einen ähnlichen Ausdruck, um leere Tabellenzellen zu finden.
\A\Z funktioniert hier nicht.
(Ich vermute mal, dass es von den Entwicklern an und für sich auch nicht so vorgesehen war, dass \Z das Ende einer Tabellenzelle findet; schließlich ist das Ende einer Tabellenzelle nicht gleichzusetzen mit dem Ende eines Textflusses.)

Kennt jemand so ein Metazeichen für den Anfang einer Tabellenzelle?

(Dieser Beitrag wurde von Martin Fischer am 10. Sep 2015, 16:03 geändert)
X

GREP-Metazeichen für Anfang einer Tabellenzelle

Martin Fischer
  
Beiträge gesamt: 12779

10. Sep 2015, 21:54
Beitrag # 2 von 4
Beitrag ID: #542685
Bewertung:
(2141 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Keine Metazeichenlösung, aber (?<!.)^\Z gibt schon mal eine mögliche Richtung an.
Findet wie gewünscht den jeweils einzigen Einfügepunkt in "leeren" Zellen und leeren Textflüssen.

Findet allerdings auch einen Einfügepunkt unmittelbar nach einer Tabelle, die am Ende des Textflusses steht (auf die also keine weiteren Zeichen mehr folgen).


als Antwort auf: [#542649]

GREP-Metazeichen für Anfang einer Tabellenzelle

Marco Morgenthaler
Beiträge gesamt: 2474

15. Sep 2015, 11:35
Beitrag # 3 von 4
Beitrag ID: #542764
Bewertung:
(1898 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

Ich habe mich auch noch ein bisschen mit dem Thema Grep/Tabellen beschäftigt. Viel weiter bin ich nicht gekommen. Es scheint unmöglich, nur leere Tabellenzellen zu finden.

Dein Grep (?<!.)^\Z findet allerdings auch das Ende eines Textflusses, wenn ein Absatz mit einer Absatzmarke \r am Ende eines Textflusses steht. Der Platzhalter . in deinem negativen Lookbehind reagiert ja nicht auf das Umbruchzeichen \r.

Um dies auszuschliessen, habe ich folgenden Grep getestet:
(?<!\p{print})^\Z

Auch damit wird neben leeren Tabellenzellen der Einfügepunkt unmittelbar nach einer Tabelle gefunden, wenn dieser am Ende des Textflusses steht. Immerhin konnte ich damit den Einfügepunkt nach einer Absatzmarke am Ende eines Textflusses ausschliessen.

\p{print} entspricht dem Posix [[:print:]] und umfasst fast alle Zeichen (inkl. Umbruchzeichen, Leerraum, \t), also so ähnlich wie \X. Diese Wildcard (\X) funktioniert bei mir allerdings nicht innerhalb des neg. Lookbehinds, deshalb bin ich auf das Posix \p{print} ausgewichen.

Die Posix-Zeichenklasse \p{print} kann übrigens mit \P{print} negiert werden, was mit [[:print:]] nicht möglich ist. Dies gilt natürlich für alle Posix-Zeichenklassen.

Viele Grüsse, Marco


als Antwort auf: [#542685]

GREP-Metazeichen für Anfang einer Tabellenzelle

Martin Fischer
  
Beiträge gesamt: 12779

15. Sep 2015, 12:23
Beitrag # 4 von 4
Beitrag ID: #542765
Bewertung:
(1874 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

\p{print} ist interessant.
Hatte ich bislang nicht im Einsatz.

Bei meinem Projekt habe ich mich jetzt für eine Zwei-Schritt-Lösung (via Skript) entschieden:
1. Suche mögliche leere Textflüsse und mögliche leere Tabellenzellen;
2. untersuche diese Fundstellen nach engeren Kriterien (Zahl der Zeichen = 0).

Ich verspreche mir davon eine schnellere Ermittlung von leeren Tabellenzellen, als mit einer Schleife durch alle Zellen aller Tabellen.

Vielen Dank für's Mitdenken und Mittüfteln.


als Antwort auf: [#542764]
X