Connect failed: Connection timed out

[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:
(17811 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:
(17772 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]