ich arbeite mit dem Programm viel über Scriptbefehle und mir ist aufgefallen, dass es eine Funktion gibt für das letzte Zeichen ($strrchr) und eine für die erste Zeichenkette ($strstr), aber keine für die letzte Zeichenkette (folglich $strrstr).
Bei der suche hab ich leider nichts gefunden und wenn ich einfach die letzte Zeichenkette (z.B. -)
mit einem regulärem Ausdruck durch ein bestimmbares Zeichen ersetze (z.B. %) dann kann ich dies nicht in einer $if funktion tun.
Die Funktion "$strrstr"(letzte Zeichenkette) wäre daher die einfachste Möglichkeit.
Ich hoffe das ihr der gleichen Meinung sein und der Vorschlag nicht so schwer umzusetzen ist.
(Eventuell könnte man auch mal einen Thread erstellen, wo man solche Alternativskriptbefehle sammelt. Meistens kann man sich die gewünschte Funktion ja über Umwege zusammenbasteln.)
... oder auch so:
$StrRStr(x,y) = $Sub($Sub($Add(2,$Len(x)),$Len(y)),$StrStr($Reverse(x),$Reverse(y)))
Aber wegen der Anomalien in der Funktion $StrStr wird die Formel nicht in allen Fällen ein korrektes Ergebnis liefern, z. B.
$StrRStr('.','.') ergibt 1 ; ok
$StrRStr('.','') ergibt 2; sollte 0 sein
$StrRStr('.',) ergibt 3; ???
$StrStr('','') ==> Ergebnis: 1 (Wo ist Hochkomma im Hochkomma? Ergebnis korrekt: 1)
$StrStr('''','''') ==> Ergebnis: 1 (Ergebnis wie Nr. 1, aber wie sehen die untersuchten Zeichenketten tatsächlich aus?)
$StrStr(',',',') ==> Ergebnis: 1 (Wo ist Komma im Komma? Ergebnis korrekt: 1)
$StrStr('.',',') ==> Ergebnis: 1 (Wo ist Komma im Punkt? Ergebnis korrekt: 0)
$StrStr(',') ==> Ergebnis: leer (2. Parameter fehlt, aber es gibt keine Syntaxfehlerwarnung) #Syntaxfehler#
$StrStr(''',''') ==> Ergebnis: leer (wie Nr. 5, sollte Syntaxfehler erzeugen.) #Syntaxfehler#
$StrStr(,) ==> Ergebnis: leer (Wo ist Leerstring im Leerstring? Ergebnis sollte sein: 0) #Ergebnisfehler#
Die Mp3tag Skriptfunktionen
$StrChr(x,y), $StrRChr(x,y), $StrStr(x,y) sowie StrRStr(x,y)
können durch eine einzige Funktion ersetzt werden:
StrIndex
Sucht in einer Zeichenkette nach einer Teilzeichenkette.
Searches a main-string for a sub-string.
Parameters:
(s) main-string: the string to be searched for a sub-string.
(s) sub-string: the string to look for within the main-string.
(i) start: the position in the main string to begin search. The first character of a string is position 1.
(i) direction: the search direction, 0 searches forward, 1 searches backwards.
Returns:
(i) position of sub-string within main-string, or 0 if not found.