4D v19Compare strings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
Compare strings
|
Compare strings ( cadenaA ; cadenaB {; opciones} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
cadenaA | Cadena |
![]() |
Cadena a comparar | |||||
cadenaB | Cadena |
![]() |
Cadena a comparar | |||||
opciones | Entero largo |
![]() |
Regla(s) de comparación | |||||
Resultado | Entero largo |
![]() |
Resultado de la comparación de las cadenas | |||||
El comando Compare strings devuelve un valor negativo, cero o positivo dependiendo de si cadenaA se evalúa como inferior, igual o superior a cadenaB.
En el parámetro cadenaA, pase un valor text.
En el parámetro cadenaB, pase un valor text a comparar con cadenaA.
Por defecto, Compare strings funciona como si se utilizara el operador "<" (menor que). (Ver String operators). Esto se puede modificar con el parámetro opciones. Puede pasar una o una combinación de las siguientes constantes del tema Cadenas:
Constante | Valor | Comentario |
sk case insensitive | 2 | Las cadenas se comparan según el lenguaje actual de los datos sin tener en cuenta las diferencias de mayúsculas y minúsculas. Note que los signos diacríticos se tienen en cuenta. Por ejemplo, "A" se considera lo mismo que "a", sin embargo "a" no se considera lo mismo que "à" .
|
sk char codes | 1 | Las cadenas se comparan según los códigos de caracteres. Los parámetros actuales del lenguaje de datos no se tienen en cuenta durante la comparación.
Se puede combinar con: sk case insensitive Sólo para los rangos "a-z" o "A-Z". (e.g., Alpha = alpha, pero Alpha # âlphà) |
sk diacritic insensitive | 4 | Las cadenas se comparan según el lenguaje actual de los datos sin embargo los acentos o símbolos de las letras se ignoran. Por ejemplo, "a" se considera lo mismo que "à".
Se puede combinar con
|
sk kana insensitive | 8 | Para el idioma japonés. Las cadenas se comparan de acuerdo al significado (no al estilo de escritura) en el lenguaje de datos actual. Por ejemplo, "あ" se considera lo mismo que "ア". Cuando se establece esta opción, sk width insensitive está implícito (se considera establecido), sin embargo, lo contrario no es cierto.
Se puede combinar con:
|
sk strict | 0 | Las cadenas se comparan para obtener coincidencias exactas según el lenguaje de datos actual. En la mayoría de los casos, durante la comparación se tienen en cuenta las mayúsculas y minúsculas y las marcas diacríticas de las letras.
Se puede combinar con:
|
sk width insensitive | 16 | Para el idioma japonés. Las cadenas se comparan por ancho de caracter de acuerdo al lenguaje de datos actual. Por ejemplo, "ア" se considera lo mismo que "ア".
Se puede combinar con:
|
Para información sobre la definición del lenguaje de datos, ver la sección Comparación de texto en la Referencia de Diseño.
Atención: no se puede utilizar el carácter comodín @ con Compare strings. Por ejemplo, si se pasa "abc@" en cadenaA o cadenaB el comando evaluará realmente la cadena "abc@" y no una cadena "abc" más cualquier carácter.
Valor devuelto
El comando devuelve los siguientes valores longint:
Valor | Descripción |
-1 | cadenaA está antes que cadenaB |
0 | cadenaA es igual a cadenaB |
1 | cadenaA está después de cadenaB |
Quiere comparar las siguientes cadenas:
$string1:="alpha Bravo charlie Delta Echo Fox-Trot"
$string2:="Alpha Bravo Charlie Delta Echo Fox-Trot"
//comparar las cadenas utilizando el código de caracteres
$result:=Compare strings($string1;$string2;sk char codes)
// $result = 1
//comparar las cadenas utilizando el código de caracteres pero ignorando las mayúsculas y minúsculas
$result:=Compare strings($string1;$string2;sk char codes+sk case insensitive)
// $result = 0
Los siguientes ejemplos ilustran el impacto específico de las opciones en el contexto del lenguaje de datos japonés:
//por defecto no es sensible a kana
$result:=Compare strings("イロハ";"いろは") // igual
$result:=Compare strings("イロハ";"いろは";sk strict) // no es igual
$result:=Compare strings("イロハ";"いろは";sk kana insensitive) // iguales
//por defecto no se distingue entre mayúsculas y minúsculas
$result:=Compare strings("さつき";"さっき") // igual
$result:=Compare strings("さつき";"さっき";sk strict) // no es igual
$result:=Compare strings("さつき";"さっき";sk case insensitive) // igual
//por defecto es sensible a los diacríticos cuando el idioma de los datos es el japonés (diferente al resto de idiomas)
$result:=Compare strings("ete";"été") // igual en idioma de datos no japonés
$result:=Compare strings("ete";"été") // no son iguales en el lenguaje de datos japonés
$result:=Compare strings("うがい";"うかい") // no es igual
$result:=Compare strings("うがい";"うかい";sk strict) // no es igual
$result:=Compare strings("うがい";"うかい";sk diacritic insensitive) // igual
Nota: la opción "Ordenación adecuada para la búsqueda" (ver Comparación de texto) tiene un impacto en el comando Compare strings. En particular, la "Marca sonora katakana-hiragana prolongada" o "長音記号" se interpretará de forma diferente. El ajuste también tiene un impacto en las "marcas de iteración japonesas" como "ゝ" o "ゞ". Por ejemplo:
$result:=Compare strings("いすず";"いすゞ") // igual si la opción está desactivada
$result:=Compare strings("いすず";"いすゞ") // no es igual si la opción está desactivada
$result:=Compare strings("ラーメン";"ラーメン") // igual si la opción está desactivada
$result:=Compare strings("ラーメン";"ラアメン") // no es igual si la opción está desactivada
Producto: 4D
Tema: Cadenas de caracteres
Número
1756
Creado por: 4D v18 R6
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)