Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

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

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Trixi68
Beiträge gesamt: 20

15. Feb 2017, 14:22
Beitrag # 1 von 17
Bewertung:
(8970 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe InDesign-Profis,

wie gerade beschrieben möchte ich zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich den Text auf auf "kein Umbruch" setzten.

z.B.:
100-me Blabla Ltd. | 1-5 Firma | Tolle 100% Inc. | 21TORR |

Also vor und nach dem senkrechten Strich steht ein Viertelgeviert. Der Text nach dem Strich (inkl. Viertelgeviert) bis einschließlich nächsten Strich soll auf "kein Umbruch" gesetzt werden.

Test:
~4.+~4|
und dann Format ersezten: kein Umbruch
funktioniert leider nicht.

Kann mir da jemand vielleicht auf die Sprünge helfen?

LG Trixi
X

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

MarioF
Beiträge gesamt: 390

15. Feb 2017, 18:59
Beitrag # 2 von 17
Beitrag ID: #555642
Bewertung:
(8911 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Was funktioniert denn nicht?
Hast Du es über S&E gemacht oder als GREP-Stil angelegt?


als Antwort auf: [#555626]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Ralf Hobirk
Beiträge gesamt: 5961

15. Feb 2017, 20:21
Beitrag # 3 von 17
Beitrag ID: #555645
Bewertung:
(8892 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Trixi,

ob S&E oder GREP-Stil spielt keine Rolle. Aber du hast auf jeden Fall zwei Fehler im GREP:

1. Must du bei dem ".+" die kürzeste Entsprechung festlegen, also ".+?".

2. Muss der Strich (Pipe) escaped werden, weil er ein von GREP reserviertes Zeichen ist.

Hier der komplette GREP:

Code
~4.+?~4\| 


Ich konnte ihn jetzt nicht testen, deshalb melde dich bitte, wenn er nicht funktionieren sollte ;-)


als Antwort auf: [#555626]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Trixi68
Beiträge gesamt: 20

16. Feb 2017, 09:42
Beitrag # 4 von 17
Beitrag ID: #555663
Bewertung:
(8770 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

ich habe über grep gearbeitet,
leider findet er keine Übereinstimmung.
Was ist (Pipe) escaped? Liegt bestimmt daran.

Warum muss ich noch die kürzeste Entsprechung festlegen, wenn ich doch mit dem + schon ein oder mehrere Male sage?

LG Trixi


als Antwort auf: [#555645]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

MarioF
Beiträge gesamt: 390

16. Feb 2017, 10:12
Beitrag # 5 von 17
Beitrag ID: #555664
Bewertung:
(8759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Ralf Hobirk ] ob S&E oder GREP-Stil spielt keine Rolle.

Stimmt natürlich...
Antwort auf [ Trixi68 ] ich habe über grep gearbeitet,
leider findet er keine Übereinstimmung.

Sollte eigentlich klappen. Sind denn auch wirklich Viertelgeviert drin?


als Antwort auf: [#555645]
Anhang:
grep.JPG (62.4 KB)

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Ralf Hobirk
Beiträge gesamt: 5961

16. Feb 2017, 13:22
Beitrag # 6 von 17
Beitrag ID: #555677
Bewertung:
(8690 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Trixi,

Antwort auf: Was ist (Pipe) escaped?

Die "Pipe" ist der senkrechte Strich den du meinst. Ich weiß nicht, wie man ihn auf Deutsch korrekt nennt ;-)

Alle Zeichen, die in GREP eine besondere Funktion haben, müssen mit einem Backslash "escaped" werden. Das gilt z. B. für den Punkt, =, ?, (, ), [, ], / oder |. Der Punkt (.) steht für ein beliebiges Zeichen. wenn du jedoch wirklich einen Punkt finden möchtest, muss es "\." heißen.

Antwort auf: Warum muss ich noch die kürzeste Entsprechung festlegen


Ausgehend von deiner Beschreibung gehe ich davon aus, dass du bei deinem Beispiel
Zitat 100-me Blabla Ltd. | 1-5 Firma | Tolle 100% Inc. | 21TORR |

z. B. " 1-5 Firma |" und " Tolle 100% Inc. |"erwischen willst, nicht aber zusammenhängend " | 1-5 Firma | Tolle 100% Inc. |".
Die "kürzeste Entsprechung" bewirkt, das GREP nur den Text bis zum ersten Vorkommen der Pipe erwischt und nicht bis zur letzten Pipe im Absatz.

Sieh dir mal die Screenshots im Anhang an, die ich zu einem PDF zusammengebaut habe.

Ansonsten auch nochmal der Hinweis von Mario, ob du wirklich Viertelgevierte im Text hast oder eventuell ein anderes Leerzeichen.


als Antwort auf: [#555663]
Anhang:
grep_trixi.pdf (62.9 KB)

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Trixi68
Beiträge gesamt: 20

17. Feb 2017, 11:59
Beitrag # 7 von 17
Beitrag ID: #555700
Bewertung:
(8577 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hat leider nicht funktioniert, vielleicht wegen der Viertelgevierte. Hab es jetzt händisch gemacht und beschäftige mich in einer ruhigen Minute noch einmal damit.
Trotzdem vielen Dank, hilft mir auch als Ansatz weiter.

LG Trixi


als Antwort auf: [#555677]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

NEU!
Beiträge gesamt: 180

17. Feb 2017, 16:58
Beitrag # 8 von 17
Beitrag ID: #555712
Bewertung:
(8522 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie wärs hiermit:

(?<=\|).+?(?=\|)

Pfeiff auf die Gevierts, und nimm die Pipe als Kriterium.


als Antwort auf: [#555700]
(Dieser Beitrag wurde von NEU! am 17. Feb 2017, 17:00 geändert)

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Ralf Hobirk
Beiträge gesamt: 5961

17. Feb 2017, 17:37
Beitrag # 9 von 17
Beitrag ID: #555717
Bewertung:
(8508 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Müsste eigentlich passen ;-)

Trixi möchte aber die Pipe am Ende mit einschließen. Das hier sollte es dementsprechend tun:

Code
(?<=\|).+?\| 



als Antwort auf: [#555712]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Trixi68
Beiträge gesamt: 20

20. Feb 2017, 06:28
Beitrag # 10 von 17
Beitrag ID: #555744
Bewertung:
(8353 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
komisch der
(?<=\|).+?(?=\|)
klappt ganz gut, ausser das die Pipe nicht mit eingeschlossen wird

bei
(?<=\|).+?\|
wird zwar die Pipe mit eingeschlossen, aber wenn Sonderzeichen wie % oder ., vorkommen, findet er es nicht.

Ist doch aber der gleiche Suchbegriff .+? oder?

LG Trixi


als Antwort auf: [#555717]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Martin Fischer
  
Beiträge gesamt: 12779

20. Feb 2017, 09:07
Beitrag # 11 von 17
Beitrag ID: #555746
Bewertung:
(8329 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das liegt vermutlich weniger an den Sonderzeichen, sondern daran, dass in einer Kolonne jede zweite von Dir gewünschte Sequenz übersprungen wird.

Nimm statt
Code
100-me Blabla Ltd. | 1-5 Firma | Tolle 100% Inc. | 21TORR | 


mal
Code
100-me Blabla Ltd. | 1-5 Firma | 1-5 Firma | Tolle 100% Inc. | 21TORR | 


Bei Deinem ersten Ausdruck ist die nachfolgende Pipe (lookahead) nicht Teil des gefundenen Strings. Deswegen kann GREP hier gleich weitermachen.

Bei Deinem zweiten Ausdruck ist die Pipe Teil des gefundenen Strings. Der nächste Treffer beginnt erst ab der nächsten Pipe.
Oder anders ausgedrückt: Die letzte Pipe des ersten Treffers kann nicht Teil des zweiten Treffers sein.


als Antwort auf: [#555744]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Trixi68
Beiträge gesamt: 20

20. Feb 2017, 09:30
Beitrag # 12 von 17
Beitrag ID: #555747
Bewertung:
(8313 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

grundsätzlich soll der Treffer mit dem Viertelgeviert beginnen und bis zur nächsten Pipe gehen. Sodass höchstens der aller erste Begriff (von ca. 2000) nicht gefunden wird.

LG Trixi


als Antwort auf: [#555746]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Martin Fischer
  
Beiträge gesamt: 12779

20. Feb 2017, 10:16
Beitrag # 13 von 17
Beitrag ID: #555751
Bewertung:
(8272 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Trixi68 ] grundsätzlich soll der Treffer mit dem Viertelgeviert beginnen und bis zur nächsten Pipe gehen.


Versuch's mal damit:
Code
~4[^~4]+~4\| 


oder, wenn das erste Viertelgeviert nicht dabei sein soll:
Code
(?<=~4)[^~4]+~4\| 



als Antwort auf: [#555747]
(Dieser Beitrag wurde von Martin Fischer am 20. Feb 2017, 10:18 geändert)

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

NEU!
Beiträge gesamt: 180

20. Feb 2017, 10:29
Beitrag # 14 von 17
Beitrag ID: #555753
Bewertung:
(8263 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab auch noch was Funktionierendes erdacht, erwischt auch den ersten ohne Pipe.

~4?.+?~4\|

Ich kanns ja ohne Screenshot nicht visualisieren, aber
100-me Blabla Ltd.#|#1-5 Firma#|#1-5 Firma#|#Tolle 100% Inc.#|#21TORR#|P

# = ~4 = VGeviert
P = Absatzmarke


als Antwort auf: [#555751]

Grep: Text zwischen einem Viertelgeviert und einem weiteren Viertelgeviert und nachfolgendem Strich auf "kein Umbruch" setzten

Trixi68
Beiträge gesamt: 20

22. Feb 2017, 14:36
Beitrag # 15 von 17
Beitrag ID: #555802
Bewertung:
(8055 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ja wenn der Meister antwortet klappt das auch :-)

~4[^~4]+~4\| hat super funktioniert

Nur noch mal zum Verstehen:

er sucht nach einem "Viertelgeviert" und dann? "bis einschließlich nächstem Viertelgeviert" und "Pipe"

Verstehe ich nicht ganz, kannst du mir das noch erklären?

LG Trixi


als Antwort auf: [#555751]
X