[GastForen Programmierung/Entwicklung AppleScript Text analysieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Text analysieren

mcrudi
Beiträge gesamt: 29

29. Okt 2019, 10:47
Beitrag # 1 von 2
Bewertung:
(17815 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen,
hat jemand vielleicht eine Idee? Ich muss mit AppleScript verschiedene Strings analysieren. Ich hole mir diese Strings aus einer PDF Datei. Das funktioniert auch ohne Probleme.
Leider sind die Strings sehr unterschiedlich.
Hier mal ein Beispiel:
"Gutschein 1 Jahr Gratis Batterien 120 Stück 1 Gutschein 1 Jahr Gratis Batterien 60 Stück 1" oder: "ART-18920 Batterie Typ 312 Krankenkasse 30".
Was ich aus dem String brauche ist der Wert nach dem "Stück" oder nach "Krankenkasse". Es ist leider so, dass die Stückwerte mehrfach vorkommen können. Sonst könnte man ja einfach immer den letzten Wert nehmen. ;-) Und der Wert kann natürlich auch 2 oder 3 Stellen haben. Also nicht wirklich homogen.
Ich habe schon mit offset experimentiert, aber leider komme ich da nicht weiter.
Über einen kleinen Denkanstoß würde ich mich sehr freuen.
Viele Grüße,
Mcrudi
X

Text analysieren

Hans Haesler
  
Beiträge gesamt: 5826

30. Okt 2019, 15:07
Beitrag # 2 von 2
Beitrag ID: #572609
Bewertung:
(17776 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mcrudi,

das ist ein Fall für den Einsatz der Bibliothek RegexAndStuffLib von Shane Stanley.

Siehe die Diskussion AppleScript und GREP, hier: https://www.hilfdirselbst.ch/..._P571917.html#571917

Wenn diese Bibliothek installiert ist, sollte es mit dem folgenden Script klappen.

Der Variablen curString wird die zu untersuchende Textkette zugewiesen. Und testString enthält den ... Test-String.
Das Suchen-Muster ist "([0-9]+)". Daran wird mit & der Test-String angehängt.
Mit [0-9] wird eine Ziffer zwischen Null und Neun gefunden. Dank dem Pluszeichen auch mehrstellige.
Das alles wird von Klammern umfasst. Dadurch wird es zur Gruppe 1, welche mit "$1" zurückgegeben wird.

Code
use AppleScript version "2.5" -- macOS 10.11 or later  
use scripting additions
use script "RegexAndStuffLib" version "1.0.5"

set curString to "Gutschein 1 Jahr Gratis Batterien 120 Stück 1 Gutschein 1 Jahr Gratis Batterien 60 Stück 1"
set testString to " Stück"

set curValues to regex search curString search pattern "([0-9]+)" & testString replace template "$1"

Das Ergebnis ist diese Liste: {"120", "60"}

Gruss, Hans


als Antwort auf: [#572585]

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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!