[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt GREP Suche als Variable speichern und ausgeben

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

GREP Suche als Variable speichern und ausgeben

MartinKi
Beiträge gesamt: 1

17. Feb 2016, 19:42
Beitrag # 1 von 2
Bewertung:
(2575 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich bin blutiger Anfänger mit dem ESTK! Ich habe etwas Efahrung mit GREP aber nicht im Scripten!

Ich halbe folgendes Problem, ich möchte alle Telefonnummern in einem Text suchen und in einer Variable speichern und diese Variable dann am gleichen Platz im Text wieder ausgeben. Ich weiß so ergibt es keinen Sinn aber ich denke ich habe einen Denkfehler und wenn ich dieses Teilproblem gelöst habe, kann ich mein ganze Problem lösen, welches ich nicht posten wollte weil es zu lang werden würde..

So lautet mein bisheriger Code ->


//löscht vorige Einträge
app.findGrepPreferences = NothingEnum.NOTHING;

//findet Telefonnummern
app.findGrepPreferences.findWhat = "(0|6)\\d+/\\d{7}";

//speichert alle Telefonnumer in das Array _phoneNumbers
var _phoneNumbers = app.activeDocument.findGrep();

// geht alle Einträge durch
for (var n = 0; n < _phoneNumbers.length; n++) {
var _phoneNumber = _phoneNumbers;

//löscht vorige Einträge
app.changeGrepPreferences = NothingEnum.NOTHING;

// HIER IST DENKE ICH DAS PROBLEM !!!
app.changeGrepPreferences.changeTo =_phoneNumber;
app.activeDocument.changeGrep();
}

Danke für alle Antworten und bitte seid gnädig :)
X

GREP Suche als Variable speichern und ausgeben

drerol74
Beiträge gesamt: 502

18. Feb 2016, 00:52
Beitrag # 2 von 2
Beitrag ID: #547135
Bewertung:
(2511 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

mit »changeGrep()« änderst alle Fundstellen und in der for-Schleife fehlt auch die Zählvariable an deinem Array »_phoneNumbers«.

Hier ein Beispiel:

Code
app.findGrepPreferences = NothingEnum.NOTHING; 

app.findGrepPreferences.findWhat = "(0|6)\\d+/\\d{7}";
var _phoneNumbers = app.activeDocument.findGrep(true); /* Mit »true« Dokument rückwärts durchsuchen, bei Änderungen meist ratsam */

app.findGrepPreferences = NothingEnum.NOTHING;


var _changedPhoneNumber;

for(var n = 0; n < _phoneNumbers.length; n++) {
_changedPhoneNumber = _phoneNumbers[n].contents; /* Inhalt der Fundstelle in der Variable speichern */
_changedPhoneNumber += "-05"; /* String am Ende hinzufügen */
_phoneNumbers[n].contents = _changedPhoneNumber; /* Veränderten Inhalt einsetzen */
}



Schöne Grüße
Roland


als Antwort auf: [#547131]