compareMid()
Eine Zeichenkette mit einem Mittelstück gleicher Länge aus einer anderen Zeichenkette vergleichen.
Syntax:
int32 |
compareMid ( source, source_pos, cmp ) |
int32 |
compareMid ( source, source_pos, cmp, mode_bits ) |
Parameter:
source |
Der Parameter wird zwangsweise mittels string() in eine Zeichenkette gewandelt. |
cmp |
Der Parameter wird zwangsweise mittels string() in eine Zeichenkette gewandelt. |
options |
Bitmaske mit Optionen für den Vergleich, wobei hier nur die Bits _COMP_LEX und _COMP_RESULT_IDENT ausgewertet werden.
Der Parameter wird zwangsweise mittels int32() in eine 32-Bit-Ganzzahl gewandelt.
Ist Bit _COMP_LEX gesetzt, dann wird für den Vergleich die Funktion cmpLex() aufgerufen.
Ist das Bit _COMP_RESULT_IDENT, dann wird bei Ungleichheit die Länge der identischen Zeichen als Funfktionsergebnis geliefert.Weitere Details unter cmp(). |
Beschreibung:
Zuerst wird die Quelle source virtuell auf die Länge der 2. Quelle cmp gekürzt,
so dass die ersten Zeichen ab Position source_pos vorhanden bleiben.
Dieser gekürzte Text, der auch kürzer als cmp sein kann,
wird mittels cmp(extract,cmp,options) verglichen.
Funktionsergebnis: INT32
Ist die aus source extrahierte Teilzeichenkette (im weiteren extract genannt)
und cmp identisch, dann wird 0 als Ergebnis geliefert.
Ist die extract<cmp, dann wird -1 als Ergebnis geliefert.
Andernfalls ist extract>cmp und es wird +1 als Ergebnis geliefert.
Ist dagegen im Parameter options das Bit _COMP_RESULT_IDENT gesetzt,
dann wird bei Ungleichheit die Anzahl der identischen Zeichen + _CMP_STR_LEN_ADD
geliefert. Das Vorzeichen des Ergebnisses ist negativ, falls extract<cmp.
Siehe auch:
compareMidEQ()
compareLeft()
compareRight()
Weitere ähnliche Funktionen:
Vergleiche |
Funktion |
Kurzinfo |
cmp() |
Zwei Parameter miteinander vergleichen. |
cmpEQ() |
Zwei Parameter miteinander auf Identität vergleichen. |
cmpLex() |
Zwei Parameter miteinander vergleichen und Zeichenketten dabei lexikalisch verglecihen. |
compareFile() |
Eine Datei mit lokalen Daten vergleichen. |
compareFiles() |
Den Inhalt zweier Dateien vergleichen. |
compareFilesEx() |
Einen Ausschnitt des Inhaltes zweier Dateien vergleichen. |
compareLeft() |
Eine Zeichenkette mit dem Anfang gleicher Länge aus einer anderen Zeichenkette vergleichen. |
compareLeftEQ() |
Eine Zeichenkette mit dem Anfang gleicher Länge aus einer anderen Zeichenkette auf Gleichkeit untersuchen. |
compareMid() |
Eine Zeichenkette mit einem Mittelstück gleicher Länge aus einer anderen Zeichenkette vergleichen. |
compareMidEQ() |
Eine Zeichenkette mit einem Mittelstück gleicher Länge aus einer anderen Zeichenkette auf Gleichkeit untersuchen. |
compareRight() |
Eine Zeichenkette mit dem Ende gleicher Länge aus einer anderen Zeichenkette vergleichen. |
compareRightEQ() |
Eine Zeichenkette mit dem Ende gleicher Länge aus einer anderen Zeichenkette auf Gleichkeit untersuchen. |