Volver a la versión inglesa de la documentaciónFunciones de cadena
Funciones de cadena (SPSS Modeler)
Última actualización: 20 dic 2024
Con CLEM, puede ejecutar operaciones para comparar series, crear series o acceder a caracteres.
En CLEM, una serie es cualquier secuencia de caracteres entre comillas dobles coincidentes ("string quotes"
). Los caracteres (CHAR
) pueden ser cualquier carácter alfanumérico único. Se declaran en expresiones CLEM utilizando comillas simples en forma de `<character>`
, como `z`
, `A`
o `2`
. Los caracteres que se encuentran fuera de los límites o los índices negativos de una cadena darán como resultado un comportamiento indefinido.
Nota: Las comparaciones entre series que utilizan y no utilizan la retrotracción de SQL pueden generar resultados diferentes cuando existen espacios finales.
Función | Resultado | Descripción |
---|---|---|
allbutfirst(N, STRING) |
Serie | Devuelve una serie, que es STRING con los primeros N caracteres eliminados. |
allbutlast(N, STRING) |
Serie | Devuelve una serie, que es STRING con los últimos caracteres eliminados. |
alphabefore(STRING1, STRING2) |
Boolean | Se utiliza para comprobar el orden alfabético de las cadenas. Devuelve true si STRING1 precede a STRING2 . |
count_substring(STRING, SUBSTRING) |
Entero | Devuelve el número de veces que aparece la subcadena especificada en la cadena. Por ejemplo, count_substring("foooo.txt", "oo") devuelve 3 . |
endstring(LENGTH, STRING) |
Serie | Extrae los últimos N caracteres de la serie especificada. Si la longitud de la cadena es menor o igual que la longitud especificada, no hay cambios. |
hasendstring(STRING, SUBSTRING) |
Entero | Esta función es la misma que isendstring(SUBSTRING, STRING) |
hasmidstring(STRING, SUBSTRING) |
Entero | Esta función es la misma que ismidstring(SUBSTRING, STRING) (subserie incorporada). |
hasstartstring(STRING, SUBSTRING) |
Entero | Esta función es la misma que isstartstring(SUBSTRING, STRING) |
hassubstring(STRING, N, SUBSTRING) |
Entero | Esta función es la misma que issubstring(SUBSTRING, N, STRING) , donde N toma el valor predeterminado 1 . |
hassubstring(STRING, SUBSTRING) |
Entero | Esta función es la misma que issubstring(SUBSTRING, 1, STRING) , donde N toma el valor predeterminado 1 . |
isalphacode(CHAR) |
Boolean | Devuelve un valor true si CHAR es un carácter de la serie especificada (a menudo un nombre de campo) cuyo código de carácter es una letra. De lo contrario, esta función devuelve un valor de 0 . Por ejemplo, isalphacode(produce_num(1)) . |
isendstring(SUBSTRING, STRING) |
Entero | Si la serie STRING termina con la subserie SUBSTRING , esta función devuelve el subíndice entero de SUBSTRING en STRING . De lo contrario, esta función devuelve un valor de 0 . |
islowercode(CHAR) |
Boolean | Devuelve un valor de true si CHAR es un carácter de letra minúscula para la serie especificada (a menudo un nombre de campo). De lo contrario, esta función devuelve un valor de 0 . Por ejemplo, tanto islowercode(``) como islowercode(country_name(2)) son expresiones válidas. |
ismidstring(SUBSTRING, STRING) |
Entero | Si SUBSTRING es una subserie de STRING pero no empieza en el primer carácter de STRING o termina en el último, esta función devuelve el subíndice en el que se inicia la subserie. De lo contrario, esta función devuelve un valor de 0 . |
isnumbercode(CHAR) |
Boolean | Devuelve un valor true si CHAR para la serie especificada (a menudo un nombre de campo) es un carácter cuyo código de carácter es un dígito. De lo contrario, esta función devuelve un valor de 0 . Por ejemplo, isnumbercode(product_id(2)) . |
isstartstring(SUBSTRING, STRING) |
Entero | Si la serie STRING empieza por la subserie SUBSTRING , esta función devuelve el subíndice 1 . De lo contrario, esta función devuelve un valor de 0 . |
issubstring(SUBSTRING, N, STRING) |
Entero | Busca en la serie STRING , empezando por su carácter Nth , una subserie igual a la serie SUBSTRING . Si la encuentra, esta función devuelve el subíndice entero donde comienza el subcadena coincidente. De lo contrario, esta función devuelve un valor de 0 . Si no se proporciona N , esta función toma el valor predeterminado 1 . |
issubstring(SUBSTRING, STRING) |
Entero | Busca en la serie STRING . Si la encuentra, esta función devuelve el subíndice entero donde comienza el subcadena coincidente. De lo contrario, esta función devuelve un valor de 0 . |
issubstring_count(SUBSTRING, N, STRING) |
Entero | Devuelve el índice de la aparición Nth de SUBSTRING dentro del STRING especificado. Si hay menos de N apariciones de SUBSTRING , se devuelve 0 . |
issubstring_lim(SUBSTRING, N, STARTLIM, ENDLIM, STRING) |
Entero | Esta función es la misma que issubstring , pero la coincidencia está restringida a empezar en STARTLIM y finalizar en ENDLIM . Las restricciones STARTLIM o ENDLIM se pueden inhabilitar proporcionando un valor de false para cualquiera de los argumentos; por ejemplo, issubstring_lim(SUBSTRING, N, false, false,
STRING) es el mismo que issubstring . |
isuppercode(CHAR) |
Boolean | Devuelve un valor de true si CHAR es un carácter de letra mayúscula. De lo contrario, esta función devuelve un valor de 0 . Por ejemplo, tanto isuppercode(``) como isuppercode(country_name(2)) son expresiones válidas. |
last(STRING) |
Serie | Devuelve el último carácter CHAR de STRING (que debe tener al menos un carácter de longitud). |
length(STRING) |
Entero | Devuelve la longitud de la serie STRING (es decir, el número de caracteres que contiene). |
locchar(CHAR, N, STRING) |
Entero | Se utiliza para identificar la ubicación de los caracteres en los campos simbólicos. La función busca en la serie STRING el carácter CHAR , iniciando la búsqueda en el carácter Nth de STRING . Esta función devuelve un valor que indica la ubicación (comenzando por N ) en la que se encuentra el carácter. Si no se encuentra el carácter, esta función devuelve un valor de 0. Si la función tiene un desplazamiento (N) no válido (por ejemplo, un desplazamiento que está más allá de la longitud de la cadena), esta función devuelve $null$ . Por ejemplo, locchar(`n`, 2,
web_page) busca en el campo llamado web_page el carácter `n` que empieza en el segundo carácter del valor del campo. Asegúrese de utilizar comillas simples invertidas para escribir el carácter especificado. |
locchar_back(CHAR, N, STRING) |
Entero | Similar a locchar , excepto que la búsqueda se realiza hacia atrás a partir del carácter Nth . Por ejemplo, locchar_back(`n`, 9,
web_page) busca el campo web_page empezando desde el noveno carácter y retrocediendo hacia el inicio de la serie. Si la función tiene un desplazamiento no válido (por ejemplo, un desplazamiento que va más allá de la longitud de la serie), esta función devuelve $null$ . Idealmente, debe utilizar locchar_back junto con la función length(<field>) para utilizar dinámicamente la longitud del valor actual del campo. Por ejemplo, locchar_back(`n`, (length(web_page)), web_page) . |
lowertoupper(CHAR) lowertoupper (STRING) |
CHAR o String | La entrada puede ser una cadena o un carácter, y se utiliza en esta función para devolver un nuevo elemento del mismo tipo, con los caracteres en minúscula convertidos a sus equivalentes en mayúscula. Por ejemplo, lowertoupper(`a`) , lowertoupper(“My string”) y lowertoupper(field_name(2)) son todas expresiones válidas. |
matches |
Boolean | Devuelve true si una serie coincide con un patrón especificado. El patrón debe ser un literal de serie; no puede ser un nombre de campo que contenga un patrón. Puede incluir un signo de interrogación (? ) en el patrón para que coincida exactamente con un carácter; un asterisco (* ) coincide con cero o más caracteres. Para que coincida con un signo de interrogación literal o un asterisco (en lugar de utilizarlos como comodines), utilice una barra inclinada invertida (\ ) como carácter de escape. |
replace(SUBSTRING, NEWSUBSTRING, STRING) |
Serie | En el STRING especificado, sustituya todas las instancias de SUBSTRING por NEWSUBSTRING . |
replicate(COUNT, STRING) |
Serie | Devuelve una cadena que consta de la cadena original copiada el número específico de veces. |
stripchar(CHAR,STRING) |
Serie | Permite eliminar determinados caracteres de una cadena o campo. Por ejemplo, puede utilizar esta función para eliminar de los datos símbolos adicionales (como notaciones de moneda) con el fin de obtener un nombre o número simple. Por ejemplo, el uso de la sintaxis stripchar(`$`, 'Cost') devuelve un nuevo campo con el signo de dólar eliminado de todos los valores. Asegúrese de utilizar comillas simples invertidas para escribir el carácter especificado. |
skipchar(CHAR, N, STRING) |
Entero | Busca en la serie STRING cualquier carácter que no sea CHAR , empezando por el carácter Nth . Esta función devuelve una subserie entera que indica el punto en el que se encuentra uno o 0 si cada carácter de Nth en adelante es un CHAR . Si la función tiene un desplazamiento no válido (por ejemplo, un desplazamiento que va más allá de la longitud de la serie), esta función devuelve $null$ . locchar se utiliza a menudo junto con las funciones skipchar para determinar el valor de N (el punto en el que empezar a buscar la serie). Por ejemplo, skipchar(`s`, (locchar(`s`, 1,
"MyString")), "MyString") . |
skipchar_back(CHAR, N, STRING) |
Entero | Similar a skipchar , excepto que la búsqueda se realiza hacia atrás, empezando por el carácter Nth . |
startstring(N, STRING) |
Serie | Extrae los primeros N caracteres de la cadena especificada. Si la longitud de la cadena es menor o igual que la longitud especificada, no hay cambios. |
strmember(CHAR, STRING) |
Entero | Equivalente a locchar(CHAR, 1, STRING) . Devuelve una subserie entera que indica el punto en el que CHAR aparece por primera vez, o 0 . Si la función tiene un desplazamiento no válido (por ejemplo, un desplazamiento que va más allá de la longitud de la serie), esta función devuelve $null$ . |
subscrs(N, STRING) |
CHAR | Devuelve el Nth carácter CHAR de la serie de entrada STRING . Esta función también se puede escribir en formato abreviado como STRING(N) . Por ejemplo, lowertoupper(“name”(1)) es una expresión válida. |
substring(N, LEN, STRING) |
Serie | Devuelve una serie SUBSTRING , que consta de los LEN caracteres de la serie STRING , empezando por el carácter en el subíndice N. |
substring_between(N1, N2, STRING) |
Serie | Devuelve la subserie de STRING , que empieza en el subíndice N1 y termina en el subíndice N2 . |
textsplit(STRING, N, CHAR) |
Serie | textsplit(STRING,N,CHAR) devuelve la subserie entre la aparición Nth-1 y Nth de CHAR . Si N es 1 , devolverá la subserie desde el principio de STRING hasta, pero sin incluir, CHAR . Si N-1 es la última aparición de CHAR , devolverá la subserie de la Nth-1 aparición de CHAR al final de la serie. |
trim(STRING) |
Serie | Extrae los espacios en blanco iniciales y finales de la cadena especificada. |
trimstart(STRING) |
Serie | Extrae los espacios en blanco iniciales de la cadena especificada. |
trimend(STRING) |
Serie | Extrae los espacios en blanco finales de la cadena especificada. |
unicode_char(NUM) |
CHAR | La entrada debe ser decimal; no se admiten valores hexadecimales. Devuelve el carácter con el valor Unicode NUM . |
unicode_value(CHAR) |
NÚM | Devuelve el valor Unicode de CHAR . |
uppertolower(CHAR) uppertolower (STRING) |
CHAR o String | La entrada puede ser una cadena o un carácter y se utiliza en esta función para devolver un nuevo elemento del mismo tipo, con los caracteres en mayúscula convertidos a sus equivalentes en minúscula. Recuerde especificar las series con comillas dobles y los caracteres con comillas simples invertidas. Los nombres de campos simples deben especificarse sin comillas. |