[GastForen Programme Print/Bildbearbeitung Adobe InDesign Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

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

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

gamurke
Beiträge gesamt: 17

5. Dez 2014, 14:50
Beitrag # 1 von 9
Bewertung:
(4117 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Indesigner,

ich ersetze in einem Skript verschiedene Textbestandteile per GREP. Nun möchte ich gefundenen Text durch nichts ersetzen (den Text also quasi löschen).

Wenn ich das so versuche:

app.findGrepPreferences.findWhat = '~b<termin>';
app.changeGrepPreferences.changeTo = ''; //also keine Zeichen zwischen den Anführungszeichen
app.documents.item(0).changeGrep();

,dann passiert gar nichts. Wenn ich ein Leerzeichen oder irgendwas anderes nehme, funktioniert das.

Gibt es einen geschützen Ausdruck für "Rein gar nichts" oder eine Methode, die das Gefundene ersatzlos löscht?

Vielen Dank!
X

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

Ralf Hobirk
Beiträge gesamt: 5961

5. Dez 2014, 15:09
Beitrag # 2 von 9
Beitrag ID: #534697
Bewertung:
(4093 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

dieser Code funktioniert bei mir immer:

Code
app.findGrepPreferences.findWhat = 'XXX';  
app.changeGrepPreferences.changeTo = '';
app.activeDocument.changeGrep();



als Antwort auf: [#534695]

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

gamurke
Beiträge gesamt: 17

5. Dez 2014, 15:18
Beitrag # 3 von 9
Beitrag ID: #534698
Bewertung:
(4084 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

das funktionier tatsächlich. Das Problem war wohl die letzte Zeile bei mir, in der ich auf einen Bereich verweise, der offenbar beim Ersetzen durch "nichts" nicht greift.

Herzlichsten Dank!


als Antwort auf: [#534697]

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

gamurke
Beiträge gesamt: 17

5. Dez 2014, 15:42
Beitrag # 4 von 9
Beitrag ID: #534701
Bewertung:
(4054 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hmm, ich habe nochmal geschaut. Das funktioniert doch nicht. Irgendwas ist da noch im argen.

Der gleiche Effekt: Durch beliebige Zeichenketten ersetzen klappt wunderbar aber bei changeTo = '' passiert gar nichts, d.h. der zu ersetzende Text bleibt einfach stehen.

Nun bin ich ratlos...


als Antwort auf: [#534698]

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

Uwe Laubender
Beiträge gesamt: 5316

5. Dez 2014, 16:14
Beitrag # 5 von 9
Beitrag ID: #534702
Bewertung:
(4024 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Gamurke!

Das Problem war nicht die letzte Zeile.

app.documents.item(0) sollte genauso funktionieren wie app.activeDocument oder auch app.documents[0].

Du willst also einen standard carriage return gefolgt von der Zeichenkette <termin> löschen, oder? Das sollte mit jeder der drei von mir genannten Ansprachen der InDesign-Datei funktionieren.

Wahlweise könntest Du mal \r anstatt ~b versuchen.

Welche InDesign-Version benutzt Du?


als Antwort auf: [#534698]

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

pixxxelschubser
Beiträge gesamt: 1708

5. Dez 2014, 19:28
Beitrag # 6 von 9
Beitrag ID: #534709
Bewertung:
(3943 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die Frage nach der InDesign-Version steht immer noch im Raum.

Ein Beispieldokument könnte auch hilfreich bei der Fehlersuche sein. Außerdem wäre auch noch die Angabe, ob der Skriptschnipsel das komplette Skript ist – oder nur ein Teil des Skriptes.

Dein Skriptschnipsel wird zum Beispiel niemals greifen, wenn vorher eine Grep-Suche nach einem x-beliebigen Format durchgeführt wurde. (Er wird auch nicht greifen, wenn sich im Dokument keine Fundstelle befindet oder aber die Ebene oder Textrahmen gesperrt sind oder aber sich kein "LESS-THAN SIGN" vor und/oder kein "GREATER-THAN SIGN" nach dem Begriff "termin" befindet oder aber sich in der Zeichenkette z.b. ein/mehrere "Leerzeichen" befindet oder, oder, oder …)

Deshalb ist es bei Suchen-und-Ersetzen-Skripten immer sinnvoll, die Einstellungen zurückzusetzen.

Grundsätzlich gilt bei Grep-Anfragen:
Ein Beispieldokument mit genügend (unverfänglichen) Textbeispielen als IDML hilft den Helfern fehlerhaft deklarierte Zeichen oder ähnliche Fehlerquellen auszuschließen.

Versuche einmal den folgenden Code:
Code
app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing; 

app.findGrepPreferences.findWhat = '~b<termin>';
app.changeGrepPreferences.changeTo = '';
//app.activeDocument.changeGrep (); // sucht im aktiven Dokument
app.documents.item(0).changeGrep(); // sucht im ersten Dokument

app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing;


Dieser Code findet bei mir:
"einen Standardzeilenumbruch"
gefolgt von "<"
gefolgt von "termin" (zwingend in dieser Groß-/Kleinschreibung)
gefolgt von ">"

und ersetzt die Fundstelle durch "nichts"
(getestet mit CS5 Windows)


als Antwort auf: [#534695]
(Dieser Beitrag wurde von pixxxelschubser am 5. Dez 2014, 19:31 geändert)

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

gamurke
Beiträge gesamt: 17

5. Dez 2014, 20:24
Beitrag # 7 von 9
Beitrag ID: #534710
Bewertung:
(3916 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pixxxelschubser,

ich habe inzwischen noch ein wenig herumprobiert und es nun zum Laufen gekriegt.

Ja in dem Skript wird hauptsächlich Text, der zwischen Tags steht, in ein bestimmtes Format gebracht und die Tags anschließend entfernt. Einige Passagen (und in manchen Fällen auch Umbrüche) sollen aber auch ganz rausfliegen und dafür brauchte ich das Ersetzen mit "nichts".

Das Entscheidende waren die Zeilen:

Code
app.findGrepPreferences = NothingEnum.nothing; 
// und
app.changeGrepPreferences = NothingEnum.nothing

Und das war ja genau Dein Hinweis.

Ohne diese ging das Ersetzen mit "nichts" nicht. Warum alle anderen Ersetzungen funktionieren ist mir aber noch nicht ganz klar.
Der Vollständigkeit halber: Das ganze ist bei mir auch unter Windows mit ID 5.5

Danke an alle


als Antwort auf: [#534709]

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

Ralf Hobirk
Beiträge gesamt: 5961

5. Dez 2014, 20:57
Beitrag # 8 von 9
Beitrag ID: #534711
Bewertung:
(3896 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
grrr…
Ich hätte wohl besser gleich den ganzen Code oben gepostet. Vor jeder S&E Routine im Script habe ich nämlich auch dieses stehen:
Code
app.findGrepPreferences = null;  
app.changeGrepPreferences = null;

damit die Einstellungen zunächst zurückgesetzt werden.


als Antwort auf: [#534710]

Suchen /Ersetzen durch "rein gar nichts" mit GREP in einem Skript

Uwe Laubender
Beiträge gesamt: 5316

6. Dez 2014, 08:35
Beitrag # 9 von 9
Beitrag ID: #534712
Bewertung:
(3810 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Ralf!
Ärgere Dich nicht über Dich selbst.

Ich habe *genauso* getestet. Auch mit InDesign CS 5.5.
Das mit dem Zurücksetzen der Preferences ist mir bereits ins Blut übergegangen…


als Antwort auf: [#534711]
X