Texte identifizieren/suchen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
Gucky_87
Posts: 376
Joined: 03 Jul 2014, 05:09

Texte identifizieren/suchen

09 Nov 2022, 03:58

Huhu zusammen,

ich habe ein Problem, das ich nur z.T. lösen kann. Vielleicht hat jemand eine Idee

Ich habe etwa folgden Text:

Code: Select all

XXXXXX CATERING GMBH
YYYYYY 
SCHLOSSSTRASSE 55
97185 BAD DEMOHAUSEN
TELEFON 0123 / 456-789
ID 111/2222/3333
Ich habe ein Script gemacht, das von bestimmten SD Karten Ordnern ZIP Dateien zum Archivieren erstellen kann.
Ich möchte gerne den Namen herausfiltern, da dieser später u.A. als Dateiname dienen soll, etwa so:
XXXXXX CATERING GMBH - YYYYYY - BAD DEMOHAUSEN - 2022-11-08.DAT

Strasse, PLZ, Hausnr., Ort, etc. bekomme ich mittels RegEx leicht extrahiert, aber es geht mir vornehmlich um die ersten beiden Zeilen.
Dort steht für gewöhnlich der Kundenname, es müssen aber nicht 2 Zeilen sein, es KANN auch nur die erste ODER zweite Zeile sein.

Es könnte dort also z.B. auch stehen:

Code: Select all

Zeile 1: leer
Zeile 2: Mode Richter
Was dann zu "Mode Richter" werden soll.

Oder

Code: Select all

Zeile 1: Restaurant
Zeile 2: Zum großen Fisch
Woraus dann: "Restaurant Zum großen Fisch" werden soll.

Hat jemand einen Vorlschlag, wie ich dies bewerkstelligen kann?

Ich habe schon überlegt, die Google Such API dafür zu "missbrauchen", das geht aber nicht, da die Rechner, auf denen das Programm nachher läuft, nicht zwangweise online sind / sein können.

Wie immer vielen Dank für Tipps im Voraus,

Gucky.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Texte identifizieren/suchen

09 Nov 2022, 04:08

Der "übliche" Weg wäre es den Datensatz in Zeilen zu zerlegen, und anschließend deren jeweilige Daten z.B. als Bestandteil eines Arrays, in einer konkatinierten Zeichenkette (hier als Dateinamen) auszugeben.
Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Texte identifizieren/suchen

09 Nov 2022, 05:48

wenn es immer 5 ODER 6 Zeilen sind, dann kann man ja so die Unterscheidung machen:

Code: Select all

string := "XXXXXX CATERING GMBH
YYYYYY 
SCHLOSSSTRASSE 55
97185 BAD DEMOHAUSEN
TELEFON 0123 / 456-789
ID 111/2222/3333"

Loop, parse, string, `n
	anz := A_Index
arr := StrSplit(string, "`n")

if anz = 5
{
	dateiname := arr[1] . "-" . arr[2] . "-" . arr[3] . "-" . arr[4] . "-" . arr[5]
}
else if anz = 6
{
	dateiname := arr[1] . " " . arr[2] . "-" . arr[3] . "-" . arr[4] . "-" . arr[5] . "-" . arr[6]
}
regards,
AHK_fan :)
https://hr-anwendungen.de
User avatar
Gucky_87
Posts: 376
Joined: 03 Jul 2014, 05:09

Re: Texte identifizieren/suchen

10 Nov 2022, 05:02

Huhu,

genau so mache ich das ja bisher auch. Ich zerlege sie (immer!) 6 Zeilen in ein Array und werte die Texte aus, die ich haben möchte, um den Dateinamen zu bilden.

Mein Problem dabei ist, dass insb. die Zeile 1 und 2 mal ein Firmenname sein kann und mal auch so etwas wie "Vielen Dank" und das möchte ich nach "plausiblen" Texten filtern/durchsuchen.
Ich bin jetzt an einem Ansatz, der Begriffe wie Firmierungen (Bäcker, Friseur, Cafe, GmbH, Gbr, u.s.w.) nach einer Liste erkennt.

Gucky.
Ahk_fan
Posts: 237
Joined: 31 Aug 2018, 14:34
Contact:

Re: Texte identifizieren/suchen

10 Nov 2022, 05:47

achso, es sind also immer 6 Zeilen. Hast du denn eine Abgleichliste der Firmennamen? Also wo alle möglichen Firmennamen drin sind, oder kommen immer neue dazu?
Dann könnte man nämlich die Abgleichliste nehmen und den dort hinterlegten Firmennamen in Zeile 1 und 2 suchen und so ermitteln welche Firma es ist.
regards,
AHK_fan :)
https://hr-anwendungen.de
User avatar
Gucky_87
Posts: 376
Joined: 03 Jul 2014, 05:09

Re: Texte identifizieren/suchen

06 Feb 2023, 06:31

Sorry für die späte Antwort.
Eine Firmenliste lässt sich schlecht erstellen, da, wie Du auch vermutest, immer neue Namen hinzukommen oder sich ändern.

Gucky.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 14 guests