Autor Thema: Texterkennung im Subject und Body  (Gelesen 6653 mal)

Offline St

  • Frischling
  • *
  • Beiträge: 40
Texterkennung im Subject und Body
« am: 27.03.14 - 12:51:30 »
Hallo zusammen,

ich hoffe ihr könnt mir zu folgender Fragestellung behilflich sein.

Es sollen bei eingehenden Mails innerhalb eines bestimmten Accounts die Mailinhalte (Subject & Body) nach einer 11-stelligen Nummer geprüft werden.

Die 11-stellige Nummer muss anschließend noch auf Anfangsziffern etc. geprüft werden, was aber kein Problem ist (sprich fängt sie z.b. mit einer 200 oder 3000 oder 7000 an).

Wie sollte man am Besten bei der Filterung nach der Nummer vorgehen, also bei der Prüfung, ob in der Mail eine 11-stellige Nummer vorhanden ist?

Gruß
Stephan

« Letzte Änderung: 28.03.14 - 09:54:19 von St »

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Texterkennung im Subject und Body
« Antwort #1 am: 27.03.14 - 13:13:11 »
Da Body ein richtext- feld ist, geht das nicht in einer Ansicht, sondern muss mit einem Agenten gemacht werden... In Formel könnte man z.B. mit @Matches arbeiten, muss aber Body vorher mit @text(Body) oder @Abstract(Body;...) umwandeln... In LotusScript gibt es ähnliche Methoden
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #2 am: 27.03.14 - 13:21:57 »
Die Prüfung würde schon per Agent erfolgen und nicht über eine Ansicht.
Schon mal danke für den Hinweis mit der Umwandlung  :)

Mitch

  • Gast
Re: Texterkennung im Subject und Body
« Antwort #3 am: 27.03.14 - 13:22:32 »
Huhu,

genau. @Matches bzw. "Like" in LotusScript. Da kannst du einen Ausdruck definieren nach dem gesucht wird. Damit kannst du zumindest herausfinden ob eine solche Nummer drin ist (z.B. *###########* - geht bestimmt auch cooler).

Das Bestimmen der Nummer wird dann schwieriger. Eventuell den Text an allen Leerstellen splitten und dann die einzelnen Elemente durchlaufen und mit einem genaueren Ausdruck prüfen. Wäre aber blöd wenn die Nummer dann z.B. so geschrieben wäre: "Die tolle Nummer:123456789000". Oder sonstwie mit anderen Zeichen verbunden wäre. Also mehr Trennzeichen festlegen. Aber alle wird man schwer hinbekommen.

Man könnte natürlich auch Schritt für Schritt durchlaufen: Ziehe Zeichen 1 bis 11. Prüfe ob Nummer. Nein? Dann ziehe Zeichen 2 bis 12. Prüfe ob Nummer. Nein? Was ist mit 3 bis 13? Und so weiter.

Problem bei beiden: Was ist wenn mehrere 11stellige Nummern drin sind? :)

Also: Wenn die Mails kein festes Format haben, kann man IMHO bestenfalls raten. Je nach Anwendungsfall kann "geraten" aber auch ausreichen.

Gruß,

Mitch

Mitch

  • Gast
Re: Texterkennung im Subject und Body
« Antwort #4 am: 27.03.14 - 13:27:54 »
Ergänzung:

Wenn du die gesamte Nummer gar nicht brauchst, also nur die Prüfung auf die Anfangsziffern machen willst, dann kannst du ja ausschließlich mit @Matches bzw. Like arbeiten, in der Art von:

Code
If txt Like "*200########*" Then
...
ElseIf txt Like "*7000#######*" Then
...
End If

Dann kann man sich das ganze Gefummel zur Nummernbestimmung sparen. Problematisch bleibt trotzdem der Fall mit mehreren Nummern im Text. :)

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #5 am: 27.03.14 - 13:33:07 »
Hi Mitch, super Hinweis, danke.

Ich gebe dir Recht, das es Problematisch wird, wenn mehrere Nummern enthalten sind, aber in der Regel wird die Nummer zumindest im Body nur einmal vorhanden sein.

Ggfs. ist sie einmal im Subject und nochmal im Body-Feld. Es geht hier um Schadennummern und somit eher einmalig.

Es soll auch nur zur "Vorsortierung" dienen und bei den Mails, bei denen mehrere und vorallem unterschiedliche (von der Syntax passende) Nummern enthalten sind, sollen in einen bestimmten Ordner sortiert und von einem Sachbearbeiter dann manuell weiterbearbeitet werden.

Es sicher auch nicht jeder Fall zu 100% abgedeckt werden, aber das ist auch nicht das Ziel  ;D

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Texterkennung im Subject und Body
« Antwort #6 am: 27.03.14 - 13:58:20 »
Das finden der Nummer ist aber mit dem richtigen Ansatz in wenigen Zeilen code erledigt...

Zuerst mal die Formel:
Code
_source := @Text( Body ); 
_unwanted := @Explode( _source  ; "0123456789" );
_cleanBody := @ReplaceSubstring( _source ; _unwanted ; " " );
_allNumbers := @Trim( @Explode( _cleanBody ; " " ) );
@For( i := 1; i <= @Elements( _allNumbers ); i := i + 1;
    _found := @If( @Length( _alNumbers[i] ) = 11 ; _allNumbers[i] ; "" )
)
_found

Die Erklärung folgt, wenn jemand den eigentlich simplen Code nicht verstehen sollte...
« Letzte Änderung: 27.03.14 - 14:12:19 von Tode »
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Texterkennung im Subject und Body
« Antwort #7 am: 27.03.14 - 14:04:36 »
Hallo,

@Tode
Eine kleine Frage zu Deinem Beispiel.

Muesste man nicht innerhalb der For-Schleife bei "_alNumbers" die "eckigen" Klammern verwenden?


Andreas

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Texterkennung im Subject und Body
« Antwort #8 am: 27.03.14 - 14:11:39 »
ja, hast recht... war nur aus dem Kopf getippt... habs korrigiert
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #9 am: 27.03.14 - 14:29:05 »
Hi Tode,

die paar Code-Zeilen funktionieren prima, vielen Dank  ;)

Bei den LotusScript-Beispiel prüft der Like - Befehl nicht die Anzahl von Characters, kann das sein?

Bei z.B. Like "*200########*" trifft dieser auch bei mehr als 11 Ziffern, ansonsten wäre das auch ein prima Lösungsansatz.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Texterkennung im Subject und Body
« Antwort #10 am: 27.03.14 - 15:10:40 »
Hallo,

Und wenn Di bei
Code
Like "*200########*"
einfach mal die "*" weglaesst.

Sollte dann eigentlich bedeuten, finde alles was mit 200 anfaengt und mit 8-Ziffern weitergeht


Andreas

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #11 am: 27.03.14 - 15:15:08 »
Das hatte ich schon probiert und dann wird die Zahl leider gar nicht mehr erkannt.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Texterkennung im Subject und Body
« Antwort #12 am: 27.03.14 - 15:19:21 »
Und mit

Code
Like "[0-9][0-9][0-9]########"


Andreas

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #13 am: 27.03.14 - 16:00:14 »
geht auch nicht ???

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Texterkennung im Subject und Body
« Antwort #14 am: 27.03.14 - 16:06:51 »
Jetzt muss ich aber mal ganz dumm nachfragen.

Bewegen wir uns jetzt auf dem Gebiet der @-Formeln oder befinden wir und bereits
in Lotus Script?
Weil bei Script haette ich gesagt, lass den Code doch mal im Debugger laufen.

Andreas

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #15 am: 28.03.14 - 08:21:51 »
Ich bin dabei es in Script umzusetzen, da man bei der Weiterverarbeitung flexibler ist als mit Formelsprache. Der Debugger hilft nicht wirklich, da die If-Abfrage einfach nicht zieht.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Texterkennung im Subject und Body
« Antwort #16 am: 28.03.14 - 08:24:57 »
Aber Du kannst Dir im Debugger den Inhalt der Variablen ansehen.

Und was heisst "... nicht zieht ..."

Eventuell bringt es ja auch ein wenig, wenn Du Dein bisheriges Script einmal hier
postest. Mag sein, dass jemandem sofort etwas ins Auge sticht, warum es nicht so
funktioniert wie Du es gern moechtest.


Andreas

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: Texterkennung im Subject und Body
« Antwort #17 am: 28.03.14 - 08:40:33 »
Die neue Anforderung, das nach der Zahl keine weitere Zahl mehr kommen soll, dürfte so abgefangen werden können:
Like "*200########[!#]*"
Andy

Offline St

  • Frischling
  • *
  • Beiträge: 40
Re: Texterkennung im Subject und Body
« Antwort #18 am: 28.03.14 - 08:52:49 »
geht leider auch nicht.

Der Code sieht an der Stelle aktuell (mit eurer Hilfe  ;D) wie folgt aus:

........
   searchText = body.GetFormattedText( False , 0 )   
   
   If searchText Like "*200########[!#]*" Then   
      MsgBox "Sach"
   ElseIf searchText Like "*3000#######*" Then
      MsgBox "Kraftfahrt"
   ElseIf searchText Like "*400########*" Then
      MsgBox "Haftpflicht"
.........

Es werden in der der ersten Abfrage "alle" Zahlen mit "mindestens" 11 Stellen erkannt. Das ist auf jeden Fall schon mal die halbe Miete, denn alles unter 11 Stellen interessiert nicht.

Aber am Besten ist es wenn ausschließlich 11 stellige Zahlen erkannt werden.

Wenn es über den Like-Befehl nicht klappt, könnte man doch eventuell über ein Evaluate & @Matches was versuchen.

Ich würde es gerne mit Script umsetzen, da bei der weiteren Verarbeitung Mails inkl. Anhänge versendet werden müssen und das mit Script wesentlich einfacher ist.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Texterkennung im Subject und Body
« Antwort #19 am: 28.03.14 - 08:59:52 »
Mein Code kommt vollkommen ohne @Matches aus... und lässt sich leicht (wenn auch nicht so komfortabel, weil das Script- Explode bei "0123456789" anders reagiert) in LotusScript umsetzen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz