Vergleich mit Wildcard

Anwenderaustausch zur PhraseExpress Makroprogrammierung
Post Reply
gnirehtet
Posts: 6
Joined: 19 Jun 20, 17:33

Vergleich mit Wildcard

Post by gnirehtet » 30 Dec 20, 09:18

Hallo,

wie lässt sich ein Wildcard (?) in einem Vergleich verwenden?

Folgendes Problem:
ich habe 4 Variablen die ich mit den Ziffern 1-4 befülle.
Nun frage ich in einem Vergleich ob
{Variable 1}{Variable 2}{Variable 3}{Variable 4} = 1111
das funktioniert.

Ich möchte, falls 1111 nicht zutrifft in diesem Vergleich weiterhin auf einzelne Variablen prüfen, z.B. ob
{Variable 1}{Variable 2}{Variable 3}{Variable 4} = ?2??
? soll hierbei einem Wildcard entsprechen.

Ist dies möglich?

Vielen Dank

Peter Stotz
PhraseExpress Expert
Posts: 914
Joined: 27 Feb 08, 15:07

Post by Peter Stotz » 02 Jan 21, 19:16

@gnirehtet
Ganz klar ist mir das Anwendungsproblem nicht...
Mit einer ?2?? wildcart-Suche wird nach Zeichenketten gesucht, die in Position 2 eine 2 und in den
Positionen 1, 3 und 4 beliebige Einzelzeichen haben...

In Verbindung mit #check und #cond können Wildcard-Symbole nicht direkt verwendet werden,
aber man kann möglicherweise mit einem Regulären Ausdruck (RegEx) arbeiten.

Auch der #substr-Makro ('Textoperationen' → 'Zeichenfolge extrahieren') könnte nützlich sein:
{#substr <zeichenfolge> -from x -count y}
Hier ein Beispiel:

Code: Select all

(* 20210102 • Belegung des Variablen-Sets ##var1 ##var2 ##var3 ##var4 abfragen • 
   Variablen-Set ##var1 ##var2 ##var3 ##var4 mit den Werten 1234 belegen
*){#settemp -name ##var1 -content 1}{#settemp -name ##var2 -content 2}{#settemp -name ##var3 -content 3}{#settemp -name ##var4 -content 4}(*
  Formularabfrage 
*){#formtext -text Mit welchen Werten sind die Variablen des Variablen-Sets 
##var1 ##var2 ##var3 ##var4 
belegt?}(*
  Wertermittlung und Ausgabe
*){#substr {#gettemp ##var1}{#gettemp ##var2}{#gettemp ##var3}{#gettemp ##var4}? -from {#forminput -text ... Variable 1 -type 2 -vals 1|5} -count 1}{#substr {#gettemp ##var1}{#gettemp ##var2}{#gettemp ##var3}{#gettemp ##var4}? -from {#forminput -text ... Variable 2 -type 2 -vals 2|5} -count 1}{#substr {#gettemp ##var1}{#gettemp ##var2}{#gettemp ##var3}{#gettemp ##var4}? -from {#forminput -text ... Variable 3 -type 2 -vals 3|5} -count 1}{#substr {#gettemp ##var1}{#gettemp ##var2}{#gettemp ##var3}{#gettemp ##var4}? -from {#forminput -text ... Variable 4 -type 2 -vals 4|5} -count 1}
Die Ausgabe sieht - auswahlabhängig - z.B. so aus
1234
1??4
?23?

Peter Stotz
Windows 10 - PhraseExpress v15.0.77

Post Reply