4D v19

Compare strings

Home

 
4D v19
Compare strings

Compare strings 


 

Compare strings ( aString ; bString {; options} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
aString  String in String zum Vergleichen
bString  String in String zum Vergleichen
options  Lange Ganzzahl in Vergleichskriterien
Funktionsergebnis  Lange Ganzzahl in 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
  • sk diacritic insensitive
  • sk kana insensitive
  • sk strict
  • sk whole word (nur Funktion Position)
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 case insensitive
  • sk kana insensitive
  • sk strict
  • sk width insensitive
  • sk whole word (nur Funktion Position)
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 case insensitive
  • sk diacritic insensitive
  • sk strict
  • sk width insensitive
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 case insensitive
  • sk diacritic insensitive
  • sk kana insensitive
  • sk width insensitive
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:

  • sk case insensitive
  • sk diacritic insensitive
  • sk kana insensitive
  • sk strict

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
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



Siehe auch 

Position

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: String
Nummer: 1756

Dieser Befehl kann in preemptive Prozessen laufen

 
GESCHICHTE 

Erstellt: 4D v18 R6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)