Page 1 of 1

[German]Begriffe in Textdatei einlesen und mit Wert vergleic

Posted: 03 Feb 2016 18:09
by jubaco673
Hallo.
Ich habe folgendes Problem:
Ich greife diverse Begriffe von der Betreff-Benachrichtigung meines Mailprogramms in der Statusbar ab. Ich lese den Betreff bei einer Benachrichtigung ein und will ihn mit Begriffen in einer Textdatei vergleichen - z.B. kommt in einer Mail der Begriff "hat dir eine Videonachricht geschickt", dann soll die Benachrichtigung geschlossen werden. Ich müsste jeden abgespeicherten Wert mit der Benachrichtigung vergleichen. Hierzu habe ich das Bespielskript TextFileChecker verwendet. Leider müsste ich mit "matches(file_text, ".*Begriff aus der Textdatei.*) arbeiten, da z.B. der Text tlw. nicht 100% gleich ist. Wie kann ich jeden einzelnen Begriff in der Textdatei Zeilenweise einlesen und mit dem ermittelten Text vergleichen. Beispiel: Abgespeicherter Wert "Hallo", ermittelter Text "Hallo: ich bins" - wenn identisch, dann Benachrichtigung entfernen.

Gruß Jürgen

Re: [German]Begriffe in Textdatei einlesen und mit Wert verg

Posted: 03 Feb 2016 20:28
by Martin
Hallo Jürgen

Du könntest eine Condition Expression verwenden und true zurückgeben, wenn der Text einen Begriff der Textdatei enthält.

Code: Select all

// Textdatei in Zeilen aufteilen
keywords = split(text_file, "\\n");

// Schleife über jede Zeile der Textdatei
for (keyword in keywords)
{
    // prüfen ob der Text das Schlüsselwort aus der Textdatei enthält
    if (contains(text, keyword)) 
    {
        // Schlüsselwort ist enthalten, Script mit true beenden
        return true;
    }
}

// Schlüsselwort ist nicht enthalten, Script mit false beenden
return false;
Anstelle von contains könntest du auch matches verwenden, dann müsste aber jede Zeile der Textdatei ein gültiges Regex-Pattern enthalten.

Freundliche Grüsse
Martin

Re: [German]Begriffe in Textdatei einlesen und mit Wert verg

Posted: 04 Feb 2016 16:55
by jubaco673
Hallo Martin,

besten Dank, hat hingehaun!

Gruß Jürgen

Re: [German]Begriffe in Textdatei einlesen und mit Wert verg

Posted: 12 Feb 2016 19:32
by jubaco673
Hallo Martin,

Kannst du mir bitte nochmal helfen?!

Ich möchte nach jedem einzelnen Begriff aus der Texdatei eine Aktion auslösen. Hier müsste ich meiner Meinung nach jedem Begriff diesen in eine Variable fortlaufend schreiben, z.B. Begriff(1)… um jeden Begriff dann einzeln an ein Programm zu schicken, z.B. rufe Mailprogramm auf, wähle Suchen und gebe nacheinander jeden Begriff ein. Wie ich letzteres mache, glaube ich zu wissen - nur wie ich jeden Begriff auswerten kann, daran scheitert es um Moment.

Danke für einen Tipp!

Gruß Jürgen

Re: [German]Begriffe in Textdatei einlesen und mit Wert verg

Posted: 14 Feb 2016 13:41
by Martin
Hallo Jürgen

Willst du alle Begriffe sammeln und am Ende des Flows einige Actions ausführen?
Du könntest dazu das Skript wie folgt verändern und die Begriffe in einer Liste sammeln:

Code: Select all

// Textdatei in Zeilen aufteilen
keywords = split(text_file, "\\n");
matching_keywords = newList();

// Schleife über jede Zeile der Textdatei
for (keyword in keywords)
{
    // prüfen ob der Text das Schlüsselwort aus der Textdatei enthält
    if (contains(text, keyword)) 
    {
        // Schlüsselwort ist enthalten, Schlüsselwort in Liste einfügen
        addElement(matching_keywords, keyword);
    }
}

// true zurückgeben, wenn mindestens ein Schlüsselwort gefunden wurde
return length(matching_keywords)>0;
Die Condition wird also mit Ja beendet, wenn mindestens ein Schlüsselwort enthalten war. Die Variable matching_keywords enthält dann jedes passende Schlüsselwort. Diese Liste kannst du dann in einer Action verwenden.

Freundliche Grüsse
Martin