[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt GREP in string Variablen

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

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

18. Nov 2020, 23:51
Beitrag # 1 von 16
Bewertung:
(1068 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
das dürfte für euch nur ein Klacks sein für mich ist es ein Berg:

Ich möchte in einem string eine grep-suche und ersetzung durchführen:

Es sollen alle Vorkommen des Rufzeichens in diesem String durch 1 ersetzt werden
Code
var _sel = app.selection[0]; 


var _pr = _sel.contents;
var pstr = _pr.toString();
var p_clean = pstr.replace("-", "00"); // Das funktioniert
p_clean = pstr.replace("!"\+, "1"); // Das funktioniert nicht


Doch leider funktioniert das nicht. Habt ihr eine Idee?

Vielen Dank im Voraus.
LG faxinger
X

GREP in string Variablen

WernerPerplies
Beiträge gesamt: 2542

19. Nov 2020, 07:37
Beitrag # 2 von 16
Beitrag ID: #577626
Bewertung: ||
(1035 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Faxinger,

so vielleicht?

Code
/ insert at start of Script	 
String.prototype.allReplace = function(/*string*/search, /*String*/replace)
{
return this.replace(new RegExp (search, "g"),replace);
}

// test
alert("test!!!!--!!ende".allReplace("!","1"));


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#577625]

GREP in string Variablen

Thomas Richard
Beiträge gesamt: 18570

19. Nov 2020, 11:48
Beitrag # 3 von 16
Beitrag ID: #577630
Bewertung:
(978 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat "!"\+


Das findet wohl alle Vorkommen von !\+

Was du wünschst, dürfte eher mit
Code
"!“+, "1" 

zu erreichen sein.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/


als Antwort auf: [#577625]

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

19. Nov 2020, 20:30
Beitrag # 4 von 16
Beitrag ID: #577636
Bewertung:
(832 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

danke für deine Antwort, aber genau das funktioniert eben nicht:

Code
 
var str = "djlsaöj jlkö k !!! !! dlöfökgsä!!! ädöfslä# ! "
var str_clean = str.replace("!"+, "1" ); // Das funktioniert nicht

alert (str_clean);



als Antwort auf: [#577630]

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

19. Nov 2020, 20:35
Beitrag # 5 von 16
Beitrag ID: #577637
Bewertung:
(831 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

vielen Dank für deine Antwort. Ja das skript funktioniert. Allerdings bin ich mit Funktionen noch nicht so firm.

Der Name der Funktion ist allReplace oder string.prototype.allReplace?

LG
faxinger


als Antwort auf: [#577626]

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

19. Nov 2020, 20:52
Beitrag # 6 von 16
Beitrag ID: #577638
Bewertung:
(816 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

noch eine Zusatzfrage, kann man in der Funktion auch gleich mehrere Suchen/Ersetzen kombinieren?

In der Art
Code
alert("test!!!!-&-!! & && !&!ende".allReplace("!","1"),("&","6")); 

Bzw. Suchen/Ersetzen-Paare definieren und dann die Funktion aufrufen?

Danke
LG
Faxinger


als Antwort auf: [#577637]
(Dieser Beitrag wurde von faxinger666 am 19. Nov 2020, 20:54 geändert)

GREP in string Variablen

Martin Fischer
  
Beiträge gesamt: 12360

19. Nov 2020, 21:07
Beitrag # 7 von 16
Beitrag ID: #577639
Bewertung: |||
(802 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,

versuch mal das:

Code
var str = "djlsaöj jlkö k !!! !! dlöfökgsä!!! ädöfslä# ! " 
var str_clean = str.replace(/\!/g, '1'); // Das funktioniert nicht

alert (str_clean);


Viele Grüße
Martin




als Antwort auf: [#577636]

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

19. Nov 2020, 21:49
Beitrag # 8 von 16
Beitrag ID: #577640
Bewertung:
(775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ja perfekt so gehts!
Und mit mehreren S/E hintereinander funkt es auch!
Toll

Vielen Dank
und schönen Abend

Faxinger


als Antwort auf: [#577639]

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

19. Nov 2020, 22:03
Beitrag # 9 von 16
Beitrag ID: #577641
Bewertung:
(751 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
sorry, es geht leider doch nicht:
Code
var str = "djlsaöj jlkö k !!! !! dlöfökgsä!!! ädöfslä# ! "  
var str_clean = str.replace(/\!/g, '1');
var str_clean = str.replace(/\"/g, '2');
alert (str_clean);

anscheinend muss das " maskiert werden aber dann funktioniert die Ersetzung !->1 auch nicht mehr.


als Antwort auf: [#577640]

GREP in string Variablen

faxinger666
Beiträge gesamt: 128

19. Nov 2020, 22:06
Beitrag # 10 von 16
Beitrag ID: #577642
Bewertung:
(743 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
das Ziel sind folgende Ersetzungen:
! -> 1
" -> 2
§ -> 3
$ -> 4
% -> 5
& -> 6
/ -> 7
( -> 8
) -> 9
= -> 0
- -> 00

Ich tu mir da leider etwas schwer mit den Maskierungen der Sonderzeichen...


als Antwort auf: [#577641]

GREP in string Variablen

Martin Fischer
  
Beiträge gesamt: 12360

19. Nov 2020, 22:08
Beitrag # 11 von 16
Beitrag ID: #577643
Bewertung: |||
(740 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zum Hintergrund siehe z.B. JavaScript String replace() Method

Der replace()-Befehl erwartet
a) einen String oder
b) einen regulären Ausdruck.

Deine Versuchsanordnungen waren mit einem String aufgebaut. Aber damit bekommst Du keine Wiederholungen zum Greifen:
Zitat If you are replacing a value (and not a regular expression), only the first instance of the value will be replaced.


Und weiter
Zitat To replace all occurrences of a specified value, use the global (g) modifier.


Struktur des regulären Ausdrucks beim replace()-Befehl:
Code
/[Ausdruck]/[Modifikator] 

/\!/gi


Da das Ausrufezeichen bei regulären Ausdrücken als Negation dient, muss es mit einem Backslash escaped werden, wenn es als Ausrufezeichen verwendet werden soll.

g und i sind Modifikatoren.
g steht für global - alle und nicht nur die erste gefundene Stelle ändern;
i steht für case insensitive (Groß-/Kleinschreibung nicht beachten).

Beide Modifikatoren sind optional, können verwendet oder nicht verwendet werden.

Viele Grüße
Martin




als Antwort auf: [#577640]

GREP in string Variablen

WernerPerplies
Beiträge gesamt: 2542

19. Nov 2020, 22:09
Beitrag # 12 von 16
Beitrag ID: #577644
Bewertung: |||
(738 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

Code
/ insert at start of Script	  
String.prototype.allReplace = function(/*string*/search, /*String*/replace)
{
return this.replace(new RegExp (search, "g"),replace);
}


Mit [Object].prototype.methodenName kannst Du einem beliebigem JavaScript-Objekt eigene Funktionalitäten zuweisen.

Solch eine Prototyp-Zuweisung musst Du einmalig aufrufen, bevor Du sie beliebig oft im Skript benutzen kannst.

In diesem Fall kapsel ich einfach einen Regex-Ausdruck.

Das vereinfacht ein wenig die Schreibweise des Suchausdrucks.

Der Aufruf erfolgt durch den Methodennamen und kann natürlich beliebig oft hintereinander aufgerufen werden.

Die aufrufen werden dann von links nach rechts abgearbeitet:

alert("!.:;".allReplace("!","1").allReplace("\\.","2").allReplace(":","3").allReplace(";","4")); --> "1234"

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#577637]

GREP in string Variablen

Martin Fischer
  
Beiträge gesamt: 12360

19. Nov 2020, 22:13
Beitrag # 13 von 16
Beitrag ID: #577645
Bewertung:
(732 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

versuch es so
Code
var str = 'djlsaöj jlkö k !!! !! dlöfökgsä!!! ädöfslä# " "   "! '; 
var str_clean = str.replace(/\!/g, '1');
str_clean = str_clean.replace(/\"/g, '2');
alert(str_clean);


Wichtig ist, dass Du beim zweiten Mal den replace-Befehl nicht mehr auf str, sondern auf str_clean anwendest.

oder kaskadierend:
Code
var str = 'djlsaöj jlkö k !!! !! dlöfökgsä!!! ädöfslä# " "   "! '; 
var str_clean = str.replace(/\!/g, '1').replace(/\"/g, '2');
alert(str_clean);


Viele Grüße
Martin




als Antwort auf: [#577641]
(Dieser Beitrag wurde von Martin Fischer am 19. Nov 2020, 22:21 geändert)

GREP in string Variablen

Martin Fischer
  
Beiträge gesamt: 12360

19. Nov 2020, 22:28
Beitrag # 14 von 16
Beitrag ID: #577646
Bewertung:
(716 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So

Code
var str = '!"§$%&/()-'; 
var str_clean = str.replace(/\!/g, '1');
str_clean = str_clean.replace(/\"/g, '2');
str_clean = str_clean.replace(/§/g, '3');
str_clean = str_clean.replace(/\$/g, '4');
str_clean = str_clean.replace(/%/g, '5');
str_clean = str_clean.replace(/\&/g, '6');
str_clean = str_clean.replace(/\//g, '7');
str_clean = str_clean.replace(/\()/g, '8');
str_clean = str_clean.replace(/\)/g, '9');
str_clean = str_clean.replace(/-/g, '00');
alert(str_clean);


oder so

Code
var str = '!"§$%&/()-'; 
var str_clean = str.replace(/\!/g, '1')
.replace(/\"/g, '2')
.replace(/§/g, '3')
.replace(/\$/g, '4')
.replace(/%/g, '5')
.replace(/\&/g, '6')
.replace(/\//g, '7')
.replace(/\()/g, '8')
.replace(/\)/g, '9')
.replace(/-/g, '00');

alert(str_clean);


Viele Grüße
Martin




als Antwort auf: [#577642]
(Dieser Beitrag wurde von Martin Fischer am 19. Nov 2020, 22:30 geändert)

GREP in string Variablen

WernerPerplies
Beiträge gesamt: 2542

19. Nov 2020, 22:39
Beitrag # 15 von 16
Beitrag ID: #577647
Bewertung: |||
(693 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
oder so:
Code
// insert at start of Script	  
String.prototype.allReplace = function(/*string*/search, /*String*/replace)
{
return this.replace(new RegExp (search, "g"),replace);
}
alert("!\"§$%&/()=-".allReplace("!","1")
.allReplace("\"","2")
.allReplace("§","3")
.allReplace("\\$","4")
.allReplace("%","5")
.allReplace("&","6")
.allReplace("/","7")
.allReplace("\\(","8")
.allReplace("\\)","9")
.allReplace("=","0")
.allReplace("-","00"));

:-)

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#577644]
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
30.11.2020 - 01.12.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Montag, 30. Nov. 2020, 08.30 Uhr - Dienstag, 01. Dez. 2020, 17.00 Uhr

Kurs

Im Kurs lernen Sie die Schritte vom Import des Rohmaterials bis zum fertig exportierten Clip kennen. Dazu zählen die Materialverwaltung, das Trimmen für Roh- und Feinschnitt, Blenden, Titel und Effekte und eine Übersicht über die wichtigsten Formate.

Preis: CHF 1'700.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/video-und-audio-publishing/adobe-premiere-pro-cc/kurs-adobe-premiere-pro-cc-basic

Veranstaltungen
01.12.2020 - 03.12.2020

ortsunabhängig
Dienstag, 01. Dez. 2020, 10.00 Uhr - Donnerstag, 03. Dez. 2020, 11.30 Uhr

Online Workshop-Reihe

Sie wollen barrierefreie PDF-Dokumente mit möglichst wenig Aufwand erstellen? Mit ein wenig Grundlagenwissen können Sie dies aus InDesign mit axaio MadeToTag erreichen – ohne manuelle Nacharbeit im PDF! In diesem 3-teiligen, interaktiven Webinar, das wir vom 1. – 3. Dezember 2020 gemeinsam mit unserem Partner und InDesign-Experten Klaas Posselt von einmanncombo organisieren, lernen die Teilnehmenden, wie sie zielführend beim Erstellen von barrierefreien PDF-Dokumenten aus Adobe InDesign vorgehen. Dafür wird zu Beginn vermittelt, was ein barrierefreies PDF ist, und welche Anforderungen an solche Dokumente bestehen. Mit diesem Wissen werden, anhand von Best-Practice-Beispielen, Strategien zum effizienten Erstellen von PDF/UA-konformen Dokumenten und Formularen mit Adobe InDesign und axaio MadeToTag gezeigt. Außerdem werden Lösungen für klassische Probleme vermittelt. Die Teilnehmenden erhalten im Vorfeld eine Liste der notwendigen Software, wie auch vorbereitete Workshop-Daten, an denen alle im Webinar unter Anleitung arbeiten. Während des Webinars haben die Teilnehmenden die Möglichkeit, Fragen zu stellen. Inhalte der einzelnen Webinare: Die Webinar-Serie besteht aus vier Teilen (Inhalte folgend). Diese bauen aufeinander auf, können aber, mit den entsprechenden Vorkenntnissen, auch einzeln besucht werden. Webinar 1 – Grundlagen (1. Dezember 2020, 10.00 - 11.30 Uhr) Fundiertes Grundlagenwissen über barrierefreie PDF-Dokumente bildet die Basis einer erfolgreichen Umsetzung in InDesign, um die dafür notwenigen Werkzeuge richtig einsetzen zu können. â–ª Warum barrierefreies PDF? â–ª Gesetzliche Grundlagen und Richtlinien â–ª Anforderungen an barrierefreie PDF-Dokumente â–ª Basiswissen zur Umsetzung in InDesign â–ª Einordnung axaio MadeToTag Webinar 2 – Einstieg MadeToTag (2. Dezember 2020, 10.00 - 11.30 Uhr) Anhand eines InDesign-Beispieldokumentes wird eine Publikation Schritt für Schritt mit MadeToTag barrierefrei gemacht. â–ª Warum MadeToTag nutzen? â–ª Nützliche Funktionen/Mehrwert gegenüber InDesign â–ª Arbeitsschritte in der Übersicht â–ª Gemeinsam ein Dokument barrierefrei machen, Schritt für Schritt â–ª Ausgabe als barrierefreies PDF/UA Webinar 3 – Spezielle Aufgaben mit MadeToTag meistern (3. Dezember 2020, 10.00 - 11.30 Uhr) Bestimmte Inhalte, wie unpassend erstellte Inhalte (z.B. manuelle Trennungen), komplexe Tabellen oder Formulare, können in einer barrierefreien Umsetzung sehr störend oder gar kniffelig sein. MadeToTag kann hier Hilfestellung leisten. â–ª Probleme finden und beheben â–ª Komplexere und richtig komplexe Tabellen â–ª Formulare â–ª Schneller Arbeiten mit Shortcuts â–ª Vorlagen aufbauen Ziele der Webinar-Serie: â–ª Grundlagen barrierefreier Dokumente kennen â–ª Barrierefreie Dokumente in InDesign mit MadeToTag vorbereiten und ausgeben Teilnahmegebühr: Die Teilnahmegebühr für alle drei Webinare beträgt € 89,- (zzgl. MwSt.) Wir freuen uns auf Ihre Teilnahme! Das axaio-Team

Ja

Organisator: axaio software

Kontaktinformation: Karina Zander, E-Mailk.zander AT axaio DOT com

https://en.xing-events.com/OEBIDIR.html

Erstellung barrierfreier PDF-Dokumente mit InDesign & MadeToTag

Neuste Foreneinträge


Probleme mit dem Strukturbaum Acrobat Pro DC (barrierefrei)

Probleme beim Einlaoggen auf Quark-Seite

Musterseite in anderes Layout ziehen

Wo kann ich iColorDisplay 3.8.5.3 für OSX downloaden?

Gibt es Audio-USB-Adapter mit STEREO-Mikrofoneingang?

Großformat Druckdaten anlegen

Fehlermeldung: ist in sich selbst verschachtelt

Bilder exportieren

Ausschnittswerkzeug

Interaktive PDFs - Ebenenansicht speichern
medienjobs