[GastForen Programme Print/Bildbearbeitung Adobe InDesign Suchen/Ersetzen mit Grep

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

Suchen/Ersetzen mit Grep

hene
Beiträge gesamt: 282

14. Jan 2009, 13:53
Beitrag # 1 von 20
Bewertung:
(6416 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe ID-Freaks,
Seit kurzem habe ich CS3 auf dem PC (WinXP) und freue mich über die erweiterten Suche/Ersetze-Funktionen -- die ich leider nur teilweise begreife.
Meine Suche nach einem ähnlichen Fall hat mich auch nicht auf die Spur gebracht.

Folgendes:
Ich möchte in einem Dokument (was immer wieder vorkommt) eine Zahl: 12'000 ersetzen durch 12 000, also mit einem kleinen Festwert statt mit einem Apostroph als Trenner.
Ich scheitere aber bereits beim Suchen, das ich wie folgt eingegeben habe:

\d~’\d

Die Suche gibt aber keine Übereinstimmung. Das Aprostroph habe ich mit ALT+0146 eingegeben, so wie es auch im Dokument vorkommt. Aber es nützt nichts.
Zudem frage ich mich, wie den das Ersetzen aussiehen sollte. Dort möchte ich ja die "beliebige Ziffer" stehen lassen und nur das Apostroph austauschen.
In CS2 habe ich das mit einem Script gelöst, das ich mal über diese Forum erhalten habe. Das funktioniert jetzt aber in CS3 leider nicht mehr und ich kann das Ding nicht "umpolen".
So wie es aussieht, müsste das aber eigentlich mit Grep auch lösbar sein, oder doch nicht?
Könnte mir jemand "auf den Sprung" helfen? Danke im Voraus.
X

Suchen/Ersetzen mit Grep

Martin Fischer
  
Beiträge gesamt: 12664

14. Jan 2009, 14:04
Beitrag # 2 von 20
Beitrag ID: #380937
Bewertung:
(6407 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Heinz,

Du suchst nach einem Wort, das mit einer oder mehreren Zahlen beginn, unterbrochen wird durch das Minutenzeihen, gefolgt von drei Ziffern und dann ist das Wort am Ende.

Versuch's mal damit:

Code
\<(\d+)'(\d{3})\> 


Das Ganze soll so ersetzt werden, dass von dem alten Ausdruck die Zahlen stehen bleiben und nur das Minutenzeichen gegen ein geschütztes Leerzeichen ausgetauscht wird. Dazu verwenden wir beim Suchen die Gruppenklammer () und fügen den Inhalt dieser Klammer über Variablen $1 und $2 wieder ein:

Code
$1~s$2 


Wie kommst Du auf den Ausdruck ~' ?


als Antwort auf: [#380932]

Suchen/Ersetzen mit Grep

hene
Beiträge gesamt: 282

14. Jan 2009, 14:16
Beitrag # 3 von 20
Beitrag ID: #380938
Bewertung:
(6395 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
Zuerst dickes Dankeschön für die Lösung!

Wie ich auf den (offenbar falschen) Ausdruck komme?
Indem ich in der Auswahl Unter "Anführungszeichen" "gerade einfaches Anführungszeichen (Apostroph)" ausgewählt hatte.

Fängt ein Grep immer mit "\>" an?

Weitere Frage: Wieso steht nach der ersten beliebigen Zahl (\d+) ein "+" und nach der zweiten eine geschweifte Klammer mit der Zahl "3"? Da hört mein abstrakter Denken leider schon auf ... Nein, die "3" ist mir eigentlich klar: 3 beliebige Ziffern.
Aber die erste mit dem "+" begreife ich nicht ganz.


als Antwort auf: [#380937]

Suchen/Ersetzen mit Grep

Kai Rübsamen
  
Beiträge gesamt: 4668

14. Jan 2009, 14:30
Beitrag # 4 von 20
Beitrag ID: #380941
Bewertung:
(6385 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Antwort auf: Fängt ein Grep immer mit "\>" an?

Nein. Martin hat oben die Erklärung eigentlich schon geliefert.
"\>" steht für den Beginn eines Wortes. Es ist eine mögliche Art der Suche. Das kannst du leicht selber sehen indem du neben dem Suchenfeld auf dem @ klickst und dann Positionen.

Antwort auf: Weitere Frage: Wieso steht nach der ersten beliebigen Zahl (\d+) ein "+" und nach der zweiten eine geschweifte Klammer mit der Zahl "3"? Da hört mein abstrakter Denken leider schon auf ... Nein, die "3" ist mir eigentlich klar: 3 beliebige Ziffern.

Das lässt sich eigentlich auch gut über das @-menü rausfinden:

> \d+ sucht eine beliebige Zahl ein oder mehre Male. Dadurch wird sichergestellt das sowohl 1-9, aber auch die zweistelligen Ziffern gefunden werden.

\d{3} hingegen schränkt die Suche starkt ein. D.h. es werden nur Ziffern gefunden die wirklich drei Stellen haben.

GREP ist nichts für zwischendurch. Falls dich das Thema interessiert geh mal hier auf die Suche. Wir haben bereits viele Beispiele und besorge dir zusätzlich das hier: http://www.hilfdirselbst.ch/..._P373940.html#373940


als Antwort auf: [#380938]
(Dieser Beitrag wurde von ruebi am 14. Jan 2009, 14:32 geändert)

Suchen/Ersetzen mit Grep

hene
Beiträge gesamt: 282

14. Jan 2009, 14:38
Beitrag # 5 von 20
Beitrag ID: #380946
Bewertung:
(6377 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Rübi,
"GREP ist nichts für zwischendurch."
Das habe ich bereits realisiert ... werde mich da wohl mal die Zeit nehmen müssen (wenn ich es überhaupt checke).
Fürs erste habe ich mal einen minimen "Einstieg" gemacht.


als Antwort auf: [#380941]

Suchen/Ersetzen mit Grep

Kai Rübsamen
  
Beiträge gesamt: 4668

14. Jan 2009, 14:43
Beitrag # 6 von 20
Beitrag ID: #380951
Bewertung:
(6372 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Och warum nicht. Spiel einfach mal mit dem Menü ein bisschen rum und baue die Lösungen nach die wir hier schon gepostet haben.

Hier gibt es sogar ein GrepSimulation für InDesign: http://www.rorohiko.com/...utor/GrepTutor.html#

@ Martin: Wo bringt es denn Sinn nach \<(\d+)'(\d{3})\> anstelle von (\d+)'(\d{3}) zu suchen?


als Antwort auf: [#380946]

Suchen/Ersetzen mit Grep

Ralf Hobirk
Beiträge gesamt: 5955

14. Jan 2009, 15:09
Beitrag # 7 von 20
Beitrag ID: #380962
Bewertung:
(6350 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, Rübi!

Den GREP-Simulator kannte ich noch nicht. Ich habe bisher immer mit Beispieltexten "live" in InDesign getestet.


als Antwort auf: [#380951]

Suchen/Ersetzen mit Grep

Martin Fischer
  
Beiträge gesamt: 12664

14. Jan 2009, 17:23
Beitrag # 8 von 20
Beitrag ID: #380992
Bewertung:
(6306 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> @ Martin: Wo bringt es denn Sinn nach \<(\d+)'(\d{3})\> anstelle von (\d+)'(\d{3}) zu suchen?

Z.B. in Schulungen, GREP-Einführungen und Diskussionen über verchiedene Varianten eines Ausdrucks.
Aber Sinn bringt so ein Ausdruck nicht.
Das wäre zu viel verlangt. ;-)


als Antwort auf: [#380951]

Suchen/Ersetzen mit Grep

Kai Rübsamen
  
Beiträge gesamt: 4668

14. Jan 2009, 17:36
Beitrag # 9 von 20
Beitrag ID: #380994
Bewertung:
(6299 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ah, gut. ich dachte ich hätte was verpasst. ;-)


als Antwort auf: [#380992]

Suchen/Ersetzen mit Grep

schönbi
Beiträge gesamt: 72

19. Jan 2009, 18:33
Beitrag # 10 von 20
Beitrag ID: #381618
Bewertung:
(6198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin -

habe das Beispiel nachvollzogen (was natürlich klappt) und dann das Apostroph durch ein Divis ersetzt \<(\d+)-(\d{3})\>
So findet Indesign nichts. Woran liegt das?

(Ich suche also nach 12-000)

Herzliche Grüsse
Jürg


als Antwort auf: [#380992]

Suchen/Ersetzen mit Grep

Martin Fischer
  
Beiträge gesamt: 12664

19. Jan 2009, 22:54
Beitrag # 11 von 20
Beitrag ID: #381651
Bewertung:
(6178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürg,

der Divis ist ein Zeichen, das GREP verwendet, um z.B. einen Bereich anzugeben:
[a-z] findet ein beliebiges Zeichen von a bis z, aber nicht A, 1 oder sonst was.

Du mußt den Divis entweder mit vorangestelltem Backslash escapen (die ursprüngliche Bedeutung aufheben):
Code
\<(\d+)\-(\d{3})\> 

oder statt dem Divis-Zeichen seinen Unicode-Wert \x{002D} verwenden :
Code
\<(\d+)\x{002D}(\d{3})\> 



als Antwort auf: [#381618]

Suchen/Ersetzen mit Grep

Marco Morgenthaler
Beiträge gesamt: 2474

20. Jan 2009, 12:53
Beitrag # 12 von 20
Beitrag ID: #381750
Bewertung:
(6126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

Es stimmt zwar, dass das Divis in einer Zeichenklasse einen Bereich angibt: [a-z] findet einen Kleinbuchstaben von a bis z, [-az] findet die drei Zeichen -, a und z.

Es stimmt aber nicht, dass dem Divis deshalb in einem GREP-Ausdruck ein Backslash \ vorangestellt werden muss.

\<(\d+)-(\d{3})\> funktioniert bei mir einwandfrei, auch ohne Backslash.

Das Problem von Jürg hängt entweder damit zusammen, dass er den GREP-Ausdruck falsch rüberkopiert hat (z. B. mit Leerzeichen) oder dass bei 12-000 gar kein Bindestrich steht, sondern etwa ein geschützter Trennstrich.

Gruss, Marco


als Antwort auf: [#381651]

Suchen/Ersetzen mit Grep

schönbi
Beiträge gesamt: 72

20. Jan 2009, 17:22
Beitrag # 13 von 20
Beitrag ID: #381829
Bewertung:
(6089 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen -

ich habe getestet und kann weder die Lösung von Martin noch von Marco nachvollziehen.
Setze ich statt des Bindestrichs einen Gedankenstrich funktioniert es. Setze ich einen geschützten Trennstrich ein, klappt es.
Nur mit Divis ist Essig. Ebenso wenn ich einen Buchstaben dazwischen setze 12t000 --> \<(\d+)t(\d{3})\> findet indesign nichts

Gruss Jürg


als Antwort auf: [#381750]
(Dieser Beitrag wurde von schönbi am 20. Jan 2009, 17:26 geändert)

Suchen/Ersetzen mit Grep

Marco Morgenthaler
Beiträge gesamt: 2474

20. Jan 2009, 17:33
Beitrag # 14 von 20
Beitrag ID: #381833
Bewertung:
(6084 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürg

Ohne dein Dokument zu sehen, lässt sich dein Problem nicht nachvollziehen. Denn mit dem GREP in deinem eigenen Beitrag (vgl. Anhang), den ich ins Suchen-Feld kopierte, konnte ich problemlos die gesuchte Stelle finden (12-000). Auch mit Buchstabe funktionierts.

Gruss, Marco

PS: Gib mal im Suchen-Feld einen einfacheren GREP ein:

Code
\d-\d 


Wird jetzt etwas gefunden? Wenn nein: Tippe mal im Dokument 12-000 ein. Wird jetzt etwas gefunden?


als Antwort auf: [#381829]
(Dieser Beitrag wurde von Marco Morgenthaler am 20. Jan 2009, 17:39 geändert)

Anhang:
Bild 2.png (83.2 KB)

Suchen/Ersetzen mit Grep

Martin Fischer
  
Beiträge gesamt: 12664

20. Jan 2009, 20:20
Beitrag # 15 von 20
Beitrag ID: #381863
Bewertung:
(6051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

Antwort auf: Es stimmt zwar, dass das Divis in einer Zeichenklasse einen Bereich angibt: [a-z] findet einen Kleinbuchstaben von a bis z, [-az] findet die drei Zeichen -, a und z.

Es stimmt aber nicht, dass dem Divis deshalb in einem GREP-Ausdruck ein Backslash \ vorangestellt werden muss.


Du hast natürlich recht.
Aber ich hätte schwören können, daß es bei mir beim schnellen Test gestern spontan mit dem Divis allein nicht funktionier hatte. Und mein nächster Weg ist dann stets das escapen.

Jürg, kannst Du mal prüfen, ob sich am Ende Deines Suchstrings vielleicht noch ein Leerzeichen eingeschlichen hat?


als Antwort auf: [#381750]
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
01.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=311

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
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/