hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Grep: Suche und Ersetzen von Leerzeichen

 

« « 1 2 3 » »  


meistroM
Beiträge: 13

3. Jan 2008, 17:42

Beitrag #1 von 34
Bewertung:

(11173 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Hallo...

Habe gerade eine Suchfunktion aufgebaut
Beispiel: Suche 10cm oder 10 cm
Code
[0-9]\s?(mm|cm|km|kg|t) 


zu 10(1/8 Geviert)cm ersetzen
Code
$0~< 


Ich komme einfach auf keine Lösung, cm oder jeweiliges Maß soll wieder angehängt werden. Vielleicht habt ihr eine Idee, habe in grep noch keine Erfahrung. Vielen Dank

Gruß
MM
_________

Meine Config:
OSX 10.4.11, 2.1 GHz PowerPC Imac G5, Speicher 2.5 GB DDR2 SDRAM,
Creative Suite Professional CS3


(Dieser Beitrag wurde von meistroM am 3. Jan 2008, 17:48 geändert)
Top

Kai Rübsamen  M  p
Beiträge: 3189

3. Jan 2008, 18:04

Beitrag #2 von 34
Beitrag ID: #329101

Bewertung:

(11156 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Hallo!

Versuch es mal damit:
(\d+\s?)(mm|cm|km|kg|t)

ersetzen durch:
$1~<$2

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 5 (7.0.4) u. CS 5.5 (7.5.3) u. CS6

ruebiarts.de
– Ein Blog vom Designer für Designer

Das nächste Treffen der InDesign-User Group Rhein/Main findet im August statt.
Jetzt als Mitglied anmelden, um die automatische Einladung zu erhalten!

als Antwort auf: [#329096] Top

Gerald Singelmann  M  p
Beiträge: 5823

3. Jan 2008, 18:07

Beitrag #3 von 34
Beitrag ID: #329103

Bewertung:

(11154 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Rübi, das \s? muss aus der Klammer raus, sonst wird es gleich wieder eingesetzt.
Also

Code
(\d)\s?(cm|etc) 


Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#329101] Top

Kai Rübsamen  M  p
Beiträge: 3189

3. Jan 2008, 18:11

Beitrag #4 von 34
Beitrag ID: #329105

Bewertung:

(11148 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


ähm, oja ;-)

weist du, wie man das "oder" Zeichen direkt anselle über den Dialog eingeben kann (am Mac)?

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 5 (7.0.4) u. CS 5.5 (7.5.3) u. CS6

ruebiarts.de
– Ein Blog vom Designer für Designer

Das nächste Treffen der InDesign-User Group Rhein/Main findet im August statt.
Jetzt als Mitglied anmelden, um die automatische Einladung zu erhalten!

als Antwort auf: [#329103] Top

Gerald Singelmann  M  p
Beiträge: 5823

3. Jan 2008, 18:15

Beitrag #5 von 34
Beitrag ID: #329107

Bewertung:

(11143 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Alt 7 ist |
Alt Shift 7 ist \

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#329105] Top

Kai Rübsamen  M  p
Beiträge: 3189

3. Jan 2008, 18:17

Beitrag #6 von 34
Beitrag ID: #329108

Bewertung:

(11141 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


danke

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 5 (7.0.4) u. CS 5.5 (7.5.3) u. CS6

ruebiarts.de
– Ein Blog vom Designer für Designer

Das nächste Treffen der InDesign-User Group Rhein/Main findet im August statt.
Jetzt als Mitglied anmelden, um die automatische Einladung zu erhalten!

als Antwort auf: [#329107] Top

pixxxelschubser S
Beiträge: 1145

3. Jan 2008, 19:38

Beitrag #7 von 34
Beitrag ID: #329133

Bewertung:

(11088 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Hallo,

eine kleine Nachfrage:

(\d+\s?)(mm|cm|km|kg|t) ändert doch auch den Abstand vor kleingeschriebenen Wörten, die mit "t" beginnen und nach einer Zahl stehen.
2007 tummelten sich 20 tolle Kinder mit 40 total genervten Eltern…

Besser ist vielleicht:
(\d)\s?(mm|cm|km|kg|tnachfolgendes Zeichen ist kein Buchstabe)
Soll heißen :Suche nach "t", dessen nächstes Zeichen kein Buchstabe ist. Das wäre dann besser für die Suche der Zeichen vor Satzzeichen (,.!?) und würde t-Wörter nicht beachten.

Kann ich leider nicht nach GREP übersetzen.


Eventuell sollte man auch auf notorische Großschreiber achten ("KG, "Kg", "kG", "T") - ich weiß nur nicht, wie ich "(?-i)" in eine solche Suchfunktion einbauen kann. :-(


viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton



als Antwort auf: [#329101] Top

Gerald Singelmann  M  p
Beiträge: 5823

3. Jan 2008, 20:09

Beitrag #8 von 34
Beitrag ID: #329144

Bewertung:

(11085 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


\W ist ein Buchstabe, der nicht in einem Wort vorkommen kann. Im Gegensatz zu \w.
Die Modifier werden einfach eingefügt. Also etwa:

Code
(?i)(\d) ?(cm|m|T\W)(?-i) 


Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#329133] Top

pixxxelschubser S
Beiträge: 1145

3. Jan 2008, 21:20

Beitrag #9 von 34
Beitrag ID: #329155

Bewertung:

(11060 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Hallo Gerald,

Danke so funktionierts.
\W bezieht jegliche Satzzeichen mit in die Suche ein (und noch mehr) und läßt Wörter aussen vor.

(?i) ist bei mir als ["Groß-/Kleinschreibung beachten" ein] deklariert. Hier habe ich jetzt ein Verständnisproblem.

Da der Grep-Ausdruck in Deiner Schreibweise funktioniert, bedeutet ["Groß-/Kleinschreibung beachten" ein] wahrscheinlich eher: beachte den Buchstaben - egal, ob groß oder klein und nicht wie von mir vermutet: beachte den Buchstaben nur, wenn die Groß-/Kleinschreibung übereinstimmt.
Crazy

Und nach der Schreibweise zu urteilen, haben diese Modifizierer eine Schalterfunktion (die sich InDesign vielleicht merkt???), und deshalb wird diese am Ende des Suchausdruckes wieder zurückgesetzt.

Kann ich mir das so ins Langzeitgedächtnis aufnehmen, oder stimmt das nicht so ganz?

Danke für Deine Geduld ;-)


viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton



als Antwort auf: [#329144] Top

Gerald Singelmann  M  p
Beiträge: 5823

3. Jan 2008, 23:25

Beitrag #10 von 34
Beitrag ID: #329163

Bewertung:

(11044 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Von regular-expressions.net:

Zitat /i makes the regex match case insensitive.


Alternative Erklärung: i ~ ignore case

Und -i ist das Gegenteil

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#329155] Top

Marco Morgenthaler p
Beiträge: 2217

4. Jan 2008, 12:18

Beitrag #11 von 34
Beitrag ID: #329200

Bewertung:

(10986 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Hallo Gero

Ich verstehe diesen letzten Beitrag nicht ganz. Warum plötzlich /i, um die Gross-/Kleinschreibung nicht zu beachten? Es ist doch (?i) und das Gegenteil (?-i).

Eine dritte Variante steht im Bonus-Magazin von «Dirty Tricks»: (?!) für Gross-/Kleinschreibung an, (?-!) für aus. Etwas verwirrend …

Zu deinem GREP: \W hinter t verhindert zwar das Auffinden im Satz:
2007 tummelten sich 20 tolle Kinder mit 40 total genervten Eltern, nicht aber in
2007 mümmelten sich 20 mollige Kinder mit 40 miesgelaunten Eltern ein.

Ich glaube, am einfachsten ist das Problem wieder mit einem negativen Lookahead zu lösen:
Code
(?i)(\d) ?(mm|cm|m|g|kg|t)(?!\w)(?-i) 


wobei (?!\w) ausschliesst, dass nach der Masseinheit ein Wortzeichen folgt.

Noch eine letzte Frage: (?-i) muss am Schluss stehen, sonst ist standardmässig die Gross-/Kleinschreibung in Zukunft immer an? Oder warum steht das am Schluss?

Herzliche Grüsse, Marco
iMac 3.06 GHz | 8 GB RAM | OS X 10.6.8 | Indesign 7.0.4 (CS5 Design Premium)

als Antwort auf: [#329163] Top

Gerald Singelmann  M  p
Beiträge: 5823

4. Jan 2008, 12:37

Beitrag #12 von 34
Beitrag ID: #329203

Bewertung:

(10976 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Zitat Ich verstehe diesen letzten Beitrag nicht ganz.

Gehen wir doch mal rein empirisch vor. In diesem Satz:

Ein Aasgeier aalt sich paarweise

findet (?-i)a(?i)a nicht den Aasgeier, aber die anderen beiden.

(?i)a(?-i)a findet alle drei Stellen.

(?i)a(?-i)A findet gar nichts.

(?i) heißt also in InDesign "Groß-/Kleinschreibung ist egal".

Ich habe hier und heute grad keine Dirty Tricks vorliegen. Falls da ein Schreibfehler enthalten sein sollte, bitte ich um Verzeihung.

Zitat Ich glaube, am einfachsten ist das Problem wieder mit einem negativen Lookahead zu lösen:

Das kann man natürlich machen. Es geht aber auch, das \W einfach aus der ODER Klammer herauszuziehen und mit $3 beim Ersetzen wieder einzufügen. Das ist m.E. gehupft wie geschlumpft.

Zitat Noch eine letzte Frage: (?-i) muss am Schluss stehen, sonst ist standardmässig die Gross-/Kleinschreibung in Zukunft immer an? Oder warum steht das am Schluss?

Nein, ich bin mir selbst nicht ganz sicher, weshalb ich das oben mit reingeschrieben habe. Vielleicht um klar zu machen, dass innerhalb eines Suchbegriffs die Groß-/Kleinschreibung ein- und auch wieder ausgeschaltet werden kann.

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#329200] Top

pixxxelschubser S
Beiträge: 1145

4. Jan 2008, 13:43

Beitrag #13 von 34
Beitrag ID: #329209

Bewertung:

(10943 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Antwort auf [ Gerald Singelmann ] /i makes the regex match case insensitive.

Alternative Erklärung: i ~ ignore case
Und -i ist das Gegenteil

"case" hat im Deutschen mindestens 25 Entsprechungen, daher fällt es mir mit meinen Schulenglischkenntnissen schwer, hier die richtige Bedeutung herauszulesen :-(

Beitrag #12 hingegen ist wieder eine der gewohnt hervorragenden deutschsprachigen "Singelmann´schen Antworten", die das Problem erschöpfend erklärt. Danke schön.
Wink

@ Marco

Danke dass Du meine Frage
Zitat Und nach der Schreibweise zu urteilen, haben diese Modifizierer eine Schalterfunktion (die sich InDesign vielleicht merkt???), und deshalb wird diese am Ende des Suchausdruckes wieder zurückgesetzt.
Kann ich mir das so ins Langzeitgedächtnis aufnehmen, oder stimmt das nicht so ganz?

noch einmal in ein verständliches Deutsch übersetzt hast. *ggg*

Deine Antwort mit dem negativen Lookahead wäre übrigens meine nächste Frage gewesen. Es gibt ja nicht nur "t" sondern auch "g", "m", "l" … und auch "ar", "ha", etc. die hier zu Problemen führen würden. Schön, dass Deine Kristallkugel wieder funktioniert.
Sly


viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton



als Antwort auf: [#329163] Top

Kai Rübsamen  M  p
Beiträge: 3189

4. Jan 2008, 14:33

Beitrag #14 von 34
Beitrag ID: #329223

Bewertung:

(10925 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


zum weiterdenken: Wie müsste der GREP lauten, wenn man Zahl u. Maßeinheit z.B. zusätzlich auszeichnen möchte?

(\d+)\s?(?i)(mm|cm|m|g|kg|t)(?!\w)

Mit Geralds Ansatz würde hier auch ein Punkt nach der Maßeinheit gefunden. Marcos Variante erscheint mir als Grep-Anfänger daher auch bei dem ersten Beispiel einleuchtender, da hier nur die Maßeinheit u. nix dahinter gefunden wird.

zu (?i) :
aus dem Shortcut von Peter: Remember that GREP is case-sensitive by default, so to replace case-insensitively, add (?i) before the expression.

>> den Endtag braucht es wohl nicht, sondern es ist vielmehr eine gemischte Suche möglich, wie es Gerald oben beschrieben hat.
>> die Übersetzung in Indesign mit "Groß-/Kleinschreibung beachten ein" verstehe ich trotzdem nicht, da sie auch bei mir genau das Gegenteil von dem bewirkt, was ich erwarte!

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 5 (7.0.4) u. CS 5.5 (7.5.3) u. CS6

ruebiarts.de
– Ein Blog vom Designer für Designer

Das nächste Treffen der InDesign-User Group Rhein/Main findet im August statt.
Jetzt als Mitglied anmelden, um die automatische Einladung zu erhalten!

als Antwort auf: [#329209] Top

Gerald Singelmann  M  p
Beiträge: 5823

4. Jan 2008, 15:04

Beitrag #15 von 34
Beitrag ID: #329226

Bewertung:

(10909 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Grep: Suche und Ersetzen von Leerzeichen


Das ist einfach ein Übersetzungsfehler. In der Hilfe ist es interessanterweise korrekt: http://help.adobe.com/...5E-FA5A176FDC9F.html

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#329223] Top
« « 1 2 3 » »  


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Grep: Suche und Ersetzen von Leerzeichen


^