[GastForen Programme Print/Bildbearbeitung Adobe InDesign Problem mit Grep über Script - Abkürzungen

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

Problem mit Grep über Script - Abkürzungen

Guzzi-Birgit
Beiträge gesamt: 76

12. Mai 2017, 11:00
Beitrag # 1 von 9
Bewertung:
(3109 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe HDSler,
ich arbeite seit kurzem mit einer Grepsammlung, die über ein Script ausgeführt wird. Diese Steuerdatei sollte modifiziert werden, um bei Abkürzungen (z.B., u.A., s.o., o.ä.) das Leerzeichen zu entfernen (falls vorhanden) und im nächsten Schritt ein Achtelgeviert einzufügen.

Code
// 
grep {findWhat:"\\<(?i)(e|o|u|s|z)\.\\x{0020}\\<(?i)(a|ä|b|o|u|t|v)\."} {changeTo:"$1\.~<$2\."} {includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:true}
Löscht Leerzeichen bei e.V., z.B., u.a., z.T. s.o., s.u., o.ä.
//
grep {findWhat:"\\<(?i)(e|o|u|s|z)\.\\<(?i)(a|ä|b|o|u|t|v)\."} {changeTo:"$1\.~<$2\."} {includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:true}
Fügt bei e. V., z.B., u.a., z.T. s.o., s.u., o.ä. ein Achtelgeviert ein.


So weit so gut. Leider greift Grep jetzt auch bei Satzanfängen (Um Antwort...), interessanter Weise nur bei Wörtern mit zwei Buchstaben.

Ich steh total auf dem Schlauch. Kann mir jemand auf die Sprünge helfen, wo der Fehler liegt?

Sonnige Grüße
Birgit

MAC OS X El Capitan 10.11.6
AdobeCreativeCloud CC2017
X

Problem mit Grep über Script - Abkürzungen

Ralf Hobirk
Beiträge gesamt: 5955

12. Mai 2017, 11:18
Beitrag # 2 von 9
Beitrag ID: #557403
Bewertung:
(3106 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Brirgit,

bei GREP in Javascript muss immer doppelt escaped werden.

Code
\. 

findet ein beliebiges Zeichen.
Um den Punkt zu erwischen, muss es so aussehen:
Code
\\. 


---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)


als Antwort auf: [#557402]

Problem mit Grep über Script - Abkürzungen

Guzzi-Birgit
Beiträge gesamt: 76

12. Mai 2017, 11:27
Beitrag # 3 von 9
Beitrag ID: #557404
Bewertung:
(3097 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

ach Mensch, das war ja einfach . . . wenn man es weiß :-)
Klappt einwandfrei, vielen Dank!!!

Viele Grüße
Birgit

macOS Catalina 10.15.5
AdobeCreativeCloud CC2021


als Antwort auf: [#557403]

Problem mit Grep über Script - Abkürzungen

funkturmmitte
Beiträge gesamt: 114

15. Mai 2017, 15:33
Beitrag # 4 von 9
Beitrag ID: #557441
Bewertung:
(2885 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hat es einen bestimmten Grund, dass das Achtelgeviert nicht schon im ersten Schritt eingefügt wird?

Z.B. So:

Code
grep	{findWhat:"\\<(?i)(e|o|u|s|z)\\.\\x{0020}?\\<(?i)(a|ä|b|o|u|t|v)\."}	{changeTo:"$1\\.~<$2\\."} 


Gruß
Oliver


als Antwort auf: [#557402]

Problem mit Grep über Script - Abkürzungen

Guzzi-Birgit
Beiträge gesamt: 76

16. Mai 2017, 09:32
Beitrag # 5 von 9
Beitrag ID: #557455
Bewertung:
(2823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Oliver,

ja, da hab ich mir was bei gedacht. So wie es jetzt ist, also in zwei Durchgängen, »erwische« ich auch die, bei denen die Abkürzungen von vorneherein ganz ohne Leerzeichen geschrieben sind. Das wäre ja anders nicht der Fall.

Viele Grüße
Birgit

macOS Catalina 10.15.5
AdobeCreativeCloud CC2021


als Antwort auf: [#557441]

Problem mit Grep über Script - Abkürzungen

funkturmmitte
Beiträge gesamt: 114

16. Mai 2017, 09:59
Beitrag # 6 von 9
Beitrag ID: #557459
Bewertung:
(2816 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Birgit!
In deiner Grep-Suche kommt diese Formulierung vor:
Code
\\x{0020}? 

Das ist ein Leerzeichen, welches vorkommen kann oder auch nicht.
Also wird mit der Suche sowohl z.B. als auch z. B. gefunden - allerdings nur, wenn das Standard Leerzeichen genutzt wird.
Wenn du alle möglichen Leerzeichen abdecken willst müsstest Du statt \\x{0020}? \\p{space_separator}? nutzen.

Gruß
Oliver


als Antwort auf: [#557455]

Problem mit Grep über Script - Abkürzungen

Kai Rübsamen
  
Beiträge gesamt: 4664

16. Mai 2017, 10:01
Beitrag # 7 von 9
Beitrag ID: #557460
Bewertung:
(2816 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Birgit,

das lässt sich auch in einem Durchgang erledigen und dann auch noch ein bisschen eleganter schreiben:

(?i)(\b[eousz]\.)\x20?([aäboutv]\.)

(?i) funktioniert wie ein Schalter. Es reicht also, wenn er 1x gesetzt wird.

\b ob \b oder \< ist egal, \b funktioniert aber vorne u. hinten und ist zumindest für mich vom Zeichen her etwas eindeutiger.

[eousz] Es ist nicht egal, ob du [eousz] oder (e|o|u|s|z) suchst. Im ersten Fall wird nur 1x gesucht um das "z" zu finden, im letzten Fall braucht es 5 Suchläufe. Zeichenklassen sind daher in solchen Fällen immer performanter als Alternationen.

\x20? Du suchst ein Leerzeichen, das da sein kann oder auch nicht. \x20 ist dabei die Kurzschreibweise von \x{0020}. Weil du das Leerzeichen u.U. rauswerfen willst, braucht es vorher und nachher runde Klammern, die dann mit $1 und $2 referenziert werden.

Edit: Ich sehe gerade, Oliver hat in der Zwischenzeit auch etwas geschrieben. @Oliver: Schau dir mal Birgits Beispiel genauer an. Da ist kein "?" hinter dem Leerzeichen. Das hast du wohl autom. gesetzt und daher benötigt sie zwei Durchläufe.

Gruß Kai Rübsamen


als Antwort auf: [#557455]
(Dieser Beitrag wurde von Kai Rübsamen am 16. Mai 2017, 10:04 geändert)

Anhang:
Bildschirmfoto 2017-05-16 um 09.54.11.png (57.1 KB)

Problem mit Grep über Script - Abkürzungen

Guzzi-Birgit
Beiträge gesamt: 76

16. Mai 2017, 10:23
Beitrag # 8 von 9
Beitrag ID: #557461
Bewertung:
(2803 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai, hallo Oliver,

vielen Dank für eure Tipps, im Moment bin ich schon froh, dass es (so wie es ist) einwandfrei und sehr zügig funktioniert.

Aber ihr habt natürlich recht, das lässt sich bestimmt noch verbessern . . . ich übe noch :-)

Ich werde mich da nochmal ran setzen, wenn ich ein bisschen freie Zeit habe.

Viele Grüße
Birgit

macOS Catalina 10.15.5
AdobeCreativeCloud CC2021


als Antwort auf: [#557460]

Problem mit Grep über Script - Abkürzungen

Hans Haesler
Beiträge gesamt: 5816

17. Mai 2017, 21:08
Beitrag # 9 von 9
Beitrag ID: #557506
Bewertung:
(2701 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Oliver,

hast Du Deinen Vorschlag im Beitrag #4 ausprobiert?

Bei mir ist das Ergebnis:

Zitat e\. V\., z\. B\., u\. a\., z\. T\. s\. o\., s\. u\., o\. ä\.

Im Ersetzen-Muster muss der Punkt nicht escaped werden.

Falls dennoch: Wenn einfach (= \.), dann passiert zwar nichts. Aber wenn doppelt (= \\.), wird ein Backslash eingefügt.

Gruss, Hans


als Antwort auf: [#557441]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/