4D v19Compare strings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
Compare strings
|
Compare strings ( aString ; bString {; options} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
aString | String |
![]() |
String zum Vergleichen | |||||
bString | String |
![]() |
String zum Vergleichen | |||||
options | Lange Ganzzahl |
![]() |
Vergleichskriterien | |||||
Funktionsergebnis | Lange Ganzzahl |
![]() |
Ergebnis des Stringvergleichs | |||||
Die Funktion Compare strings gibt einen negativen, Null oder positiven Wert zurück, je nachdem, ob aString als kleiner, gleich oder größer als bString gewertet wird.
Im Parameter aString übergeben Sie einen Wert vom Typ Text.
Im Parameter bString übergeben Sie einen Wert vom Typ Text zum Vergleichen mit aString.
Standardmäßig arbeitet Compare strings mit dem Operator "<" (kleiner als) (siehe String operators). Das können Sie mit dem Parameter options ändern. Sie können eine oder mehrere Konstanten unter der Gruppe Strings übergeben:
Konstante | Wert | Kommentar |
sk case insensitive | 2 | Vergleicht Strings in der aktuellen Sprache der Daten ohne Unterscheidung zwischen Klein- und Großschreibung. Diakritische Zeichen werden berücksichtigt. Beispiel: "A" wird genauso gewertet wie "a", dagegen wird zwischen "a" und "à" unterschieden.
Kombinierbar mit:
|
sk char codes | 1 | Vergleicht Strings gemäß Zeichen-Codes. Berücksichtigt beim Vergleichen nicht die aktuellen Einstellungen der Sprache der Daten.
Kombinierbar mit: sk case insensitive Nur für Bereiche "a-z" oder "A-Z". (z.B. Alpha = alpha, aber Alpha # âlphà) |
sk diacritic insensitive | 4 | Vergleicht Strings gemäß der aktuellen Sprache der Daten, ignoriert diakritische Zeichen von Buchstaben. Beispiel: "a" wird genauso gewertet wie "à".
Kombinierbar mit:
|
sk kana insensitive | 8 | Für die japanische Sprache. Vergleicht Strings nach der Bedeutung (nicht nach der Schreibweise) in der aktuellen Sprache der Daten. Beispiel: "あ" wird genauso gewertet wie "ア". Diese Option impliziert die Konstante sk width insensitive (gilt als gesetzt), das gilt jedoch nicht für das Gegenteil.
Kombinierbar mit:
|
sk strict | 0 | Vergleicht Strings mit exakten Übereinstimmungen gemäß der aktuellen Sprache der Daten. Berücksichtigt beim Vergleichen Großschreibung und diakritische Zeichen in den meisten Fällen.
Kombinierbar mit:
|
sk width insensitive | 16 | Für die japanische Sprache. Vergleicht Strings nach Zeichenbreite gemäß der aktuellen Sprache der Daten. Beispiel: "ア" wird genauso gewertet wie "ア".
Kombinierbar mit:
|
Weitere Informationen dazu finden Sie im Abschnitt Text-Vergleiche des Handbuchs Designmodus.
Warnung: Sie können mit Compare strings nicht das Jokerzeichen @ verwenden. Übergeben Sie beispielsweise "abc@" in aString oder bString, bewertet die Funktion den String "abc@" nur als "abc" ohne weitere Zeichen.
Zurückgegebener Wert
Die Funktion gibt folgende Werte vom Typ Lange Ganzzahl zurück:
Wert | Beschreibung |
-1 | aString ist vor bString |
0 | aString is gleich bString |
1 | aString ist nach bString |
Sie möchten die folgenden Zeichenketten vergleichen:
$string1:="alpha Bravo charlie Delta Echo Fox-Trot"
$string2:="Alpha Bravo Charlie Delta Echo Fox-Trot"
//compare the strings using the character code
$result:=Compare strings($string1;$string2;sk character codes)
// $result = 1
//compare the strings using the character code but ignoring any capitalization
$result:=Compare strings($string1;$string2;sk character codes+sk case insensitive)
// $result = 0
Die folgenden Beispiele veranschaulichen die spezifischen Auswirkungen der Optionen im Kontext der japanischen Datensprache:
//default is kana insensitive
$result:=Compare strings("イロハ";"いろは") // equal
$result:=Compare strings("イロハ";"いろは";sk strict) // not equal
$result:=Compare strings("イロハ";"いろは";sk kana insensitive) // equal
//default is case insensitive
$result:=Compare strings("さつき";"さっき") // equal
$result:=Compare strings("さつき";"さっき";sk strict) // not equal
$result:=Compare strings("さつき";"さっき";sk case insensitive) // equal
//default is diacritic sensitive when the data language is set to Japanese (different to all other languages)
$result:=Compare strings("ete";"été") // equal in non-Japanese data language
$result:=Compare strings("ete";"été") // not equal in Japanese data language
$result:=Compare strings("うがい";"うかい") // not equal
$result:=Compare strings("うがい";"うかい";sk strict) // not equal
$result:=Compare strings("うがい";"うかい";sk diacritic insensitive) // equal
Hinweis: Die Einstellung "Für die Suche geeignete Sortierreihenfolge" (siehe Text-Vergleiche) hat Auswirkungen auf den Befehl Compare strings. Insbesondere das "Katakana-Hiragana-Langtonzeichen" oder "長音記号" wird anders interpretiert. Die Einstellung hat auch Auswirkungen auf "Japanische Iterationszeichen" wie "ゝ" oder "ゞ". Zum Beispiel:
$result:=Compare strings("いすず";"いすゞ") // equal if setting is disabled
$result:=Compare strings("いすず";"いすゞ") // not equal if setting is enabled
$result:=Compare strings("ラーメン";"ラーメン") // equal if setting is enabled
$result:=Compare strings("ラーメン";&NBSP;"ラーメン") // not equal if setting is disabled
Produkt: 4D
Thema: String
Nummer:
1756
Erstellt: 4D v18 R6
4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)