Forenindex » Programmierung/Entwicklung » AppleScript » Satimage 360 find text

Satimage 360 find text

michael m.
Beiträge gesamt: 162

3. Mär 2011, 18:13
Bewertung:

gelesen: 2819

Beitrag als Lesezeichen
Hallo,

ich möchte gerne einen text durchsuchen lassen und es soll heissen

-- Wenn der Textblock keine Zahlen und auch keine Nummern hat die mehr als 3 Stellen haben (Satimage 360)
Code
-- if textBlock is not equal to (find text "[0-9]{3,} [A-Z]{3,}" in textBlock with regexp, all occurrences and string result) then 


ist die Aussage korrekt?

Vielen Dank

Michael

Satimage 360 find text

-hans-
Beiträge gesamt: 748

3. Mär 2011, 19:05
Bewertung:

gelesen: 2812

Beitrag als Lesezeichen
hi,

falls ich Dich richtig verstanden habe:
Code
set textBlock to "läkälknälk älknälkn äkln98 78 898 98" 
--ergibt eine Liste aus Strings:
set findMatches to (find text "[0-9A-Za-z]{3,}" in textBlock with regexp, all occurrences and string result)

if (count of findMatches) is 0 then
--...
else
display dialog (count of findMatches) as text
end if


hoffe es klappt :)

tschökes

Hans
Lieben Gruß

Hans-Gerd Claßen

Satimage 360 find text

michael m.
Beiträge gesamt: 162

3. Mär 2011, 19:37
Bewertung:

gelesen: 2809

Beitrag als Lesezeichen
Hallo Hans,

du erinnerst Dich, das ich PDFs hatte die die keinen Text enthielten, aber dafür Returns und/oder vereinzelte Zeichen. Um diese auch wieder in die OCR Erkennung zu schicken habe ich mir gedacht.

Wenn im TextBlock keine Buchstaben und auch keine Zahlen enthalten sind, dann ......

deshalb > not equal <

Da aber schon mal vereinzelt ein J oder L oder 0 drin sein können, habe ich gedacht, dass man um ein sinnvollen Text zu erhalten ein paar Buchstaben oder zahlen mehr braucht als eins.

Also habe ich mir gedacht eine Abfrage zu erzeugen die besagt:

Wenn im Textblock keine Buchstaben von 3 aufsteigend und auch keine Zahlen von 3 aufsteigend enthalten sind, dann gehe direkt ins OCR Erkennungsverzeichnis und gehe nicht über Los und ziehe keine 4000 Euro ein :)

Viele Grüsse

Michael

(Dieser Beitrag wurde von michael m. am 3. Mär 2011, 19:38 geändert)

Satimage 360 find text

Hans Haesler
  
Beiträge gesamt: 5826

3. Mär 2011, 21:41
Bewertung:

gelesen: 2783

Beitrag als Lesezeichen
Hallo Michael,

falls Du Dich mit "Hallo Hans" an Deinen Vorredner -hans- richtest, dann wird er sich nicht an die PDFs erinnern, welche nur Returns enthalten.

@ -hans- : Bitte mit vollem Vornamen unterzeichnen.

Das mit dem not equal to ist so eine Sache. Das bedeutet nämlich: nicht gleich wie. Und der Einzeiler welcher den String textBlock mit dem Ergebnis aus einem find-text-Grep vergleicht, kann so nicht funktionieren. Weil: textBlock ist ein String und das Grep-Ergebnis eine Liste.

Besser ist der Ansatz von Hans-Gerd. Aber man müsste wissen, was Du (Michael) als Minimal-Inhalt definierst.

Angenommen, in textBlock befinden sich zwei Ziffern und zwei Buchstaben

Code
set textBlock to "12 AB" 
set findMatches to (find text "[0-9A-Za-z]{3,}" in textBlock with regexp, all occurrences and string result)

Das Ergebnis ist {} (eine leere Liste), d.h. beim Zählen kommt eine Null.

Code
if (count of findMatches) is 0 then 
-- die Datei verschieben
end if

Bei drei Ziffern und zwei Buchstaben ist der eine Schwellwert erfüllt

Code
set textBlock to "123 AB" 
set findMatches to (find text "[0-9A-Za-z]{3,}" in textBlock with regexp, all occurrences and string result)

Das Ergebnis ist {"123"} (eineListe mit einem Element). Beim Zählen kommt eine Eins.

Gruss, Hans

Satimage 360 find text

michael m.
Beiträge gesamt: 162

3. Mär 2011, 22:08
Bewertung:

gelesen: 2776

Beitrag als Lesezeichen
Hallo an beide Hans,

also ich habe die PDFs ausgelesen und in einer ist foldender Inhalt:

Code
",. 
;
J
/ I
\\
"


Da befinden sich ja wirklich keine Wörter drin.
Deshalb war der Gedanke mit der "IST NICHT ENTHALTEN" Variante.

Viele Grüsse

Michael

die zweite PDF hat folgenden Inhalt:
Code
"\\ 
"


(Dieser Beitrag wurde von michael m. am 3. Mär 2011, 22:11 geändert)

Satimage 360 find text

Hans Haesler
  
Beiträge gesamt: 5826

3. Mär 2011, 22:50
Bewertung:

gelesen: 2763

Beitrag als Lesezeichen
Hallo Michael,

und was ist das Ergebnis von:

Code
set textBlock to ",.  
;
J
/ I
\\
"
set findMatches to (find text "[0-9A-Za-z]{3,}" in textBlock with regexp, all occurrences and string result)
count of findMatches

?

Gruss, Hans

Satimage 360 find text

michael m.
Beiträge gesamt: 162

4. Mär 2011, 06:45
Bewertung:

gelesen: 2737

Beitrag als Lesezeichen
Hallo Hans,

du hast vollkommen recht.
Wenn ich Dokumente Scanne, dann ist ausser den Bilddateien nichts enthalten. Wenn dann diese Zeichen und/oder nur Returns enthalten ist, dann ist das wohl das Ergebnis einer OCR Erkennung.

Dann nützt es nichts dieses erneut Erkennen zu lassen.
Also wird es sofort abgearbeitet und habe dabei Code und hantiererei gespart.

So einfache Fragen können einen wirklich die Augen öffnen.

Vielen Dank

Michael

(Dieser Beitrag wurde von michael m. am 4. Mär 2011, 09:30 geändert)