# Funciones String

Estas funciones manipulan cadenas.

Nota:

- Los parámetros de índice son de base cero. En otras palabras, el primer carácter de una cadena tiene un índice de 0, el segundo carácter tiene un índice de 1, etc.
- Las cadenas de texto que son un carácter más anchas que el ancho de la celda pueden sufrir a veces un recorte. Si se aumenta el ancho de la columna o se agrega un carácter de espacio a la cadena, se visualizará toda la cadena.

- Las funciones de cadena operan sobre cadenas de caracteres Unicode.

Función | Descripción
Code (Texto, [Índice]) | Devuelve el valor entero correspondiente al punto de código Unicode del carácter en la posición de índice especificado. Si no se especifica ningún índice, devuelve el código del primer carácter. Devuelve cero si la cadena está vacía o cuando el índice sobrepasa el del final de cadena. Los puntos de código Unicode son los mismos que los de ASCII para los primeros 127 caracteres, pero esta función admite la gama completa de caracteres Unicode. Ejemplo con Code Si la celda A2 contiene la cadena alfanumérica «ABC123», entonces la función Code(A2) da 65.000 que es el código ASCII de «A».
Concatenate (Arg1, [Arg2, Arg3, ...]) | Devuelve la concatenación de múltiples cadenas de texto alfanuméricas. Los argumentos numéricos se convierten automáticamente en texto. Ejemplo con Concatenate Si la celda A2 contiene la cadena alfanumérica «A1B1», la celda A3 contiene la cadena alfanumérica «C1D2» y la celda A4 el número de punto flotante 4.556, entonces la función Concatenate(A2,A3,A4) da «A1B1C1D24.556».
Exact (Texto1, Texto2) | Da 1 si Texto1 y Texto2 son idénticos, si no, 0. Nota: La función Exact distingue entre mayúsculas y minúsculas. Ejemplos con Exact Si la celda A2 contiene la cadena «ABC123» y la celda A3 contiene la cadena «ABC1234», entonces Exact(A2,A3) da 0.000. Si la celda A2 contiene la cadena «VISION» y la celda A3 contiene la cadena «VISION», entonces Exact(A2,A3) da 1.000.
Find (FindText, SrcText, [StartChar]) | Devuelve la posición indexada de la cadena FindText contenida en la cadena SrcText. Nota: La función Find distingue entre mayúsculas y minúsculas. Ejemplos con Find FindText y SrcText pueden ser referencias de celda o una cadena anexada directamente a los argumentos de la función. Supongamos que la celda A2 contiene la cadena «123» y la celda A3, la cadena «ABC123». Find(A2, A3) o Find("123", A3) dan 3.00 que es el índice de la posición de «123» en «ABC 123». StartChar es un argumento (entero) opcional que representa el índice de la posición en el texto SrcText en el que se inicia la búsqueda. Find(A2,A3,2) empieza la búsqueda en la posición 2 del texto SrcText y da el valor de índice 3.000. Si no encuentra el texto, da -1.00. Find("XYZ",A3) da -1.000
FormatString (CadenaDeFormato, [Texto o Valor, ...]) | Devuelve una cadena de texto construida utilizando una cadena de formato estándar de la biblioteca del lenguaje "C". FormatString admite la mayoría de los parámetros de cadena de formato. Utilice el cuadro de diálogo Cuadro de diálogo Format String para configurar automáticamente esta función. Nota: No se recomienda editar manualmente la función FormatString.
Left (Texto, NumChars) | Devuelve la cantidad de caracteres indicada (NumCarac) comenzando por el extremo izquierdo de la cadena de Texto. Ejemplo con Left Si la celda A2 contiene la cadena alfanumérica «ABC123», entonces la función Left(A2,2) da la cadena «AB».
Len (Texto) | Devuelve el número de caracteres que hay en una cadena de Texto. Ejemplo con Len Si la celda A2 contiene la cadena alfanumérica «ABC123», entonces la función Len(A2) da el valor (entero) 6.000.
Lower (Texto) | Devuelve Texto escrito en minúsculas. Ejemplo con Lower Si la celda A2 contiene la cadena alfanumérica «ABC123», la función Lower(A2) da la cadena «abc123».
Mid (Texto, StartChar, NumChars) | Devuelve el Texto desde la posición indexada por StartChar, siendo la longitud del texto devuelto la del número de caracteres especificado por NumChars. Ejemplo con Mid Si la celda A2 contiene la cadena alfanumérica «ABC123», entonces la función Mid(A2,2,2) devuelve la cadena «C1».
Replace (SrcText, StartChar, NumChars, NewText) | Devuelve ScrText modificado por NuevoTexto. Replace elimina la cantidad de caracteres NumChars desde la posición indexada StartChar e inserta el texto de reemplazo NewText. Ejemplo con Replace Si la celda A2 contiene la cadena alfanumérica «ABC123» y la celda A3 contiene la cadena «123», entonces Replace(A2,0,3,A3) da la cadena «123123».
Right (Texto, NumChars) | Da el número de caracteres indicado por NumChars contando desde el extremo derecho de la cadena de Texto. Ejemplo con Right Si la celda A2 contiene la cadena «ABC123», entonces Right(A2,2) da la cadena «23».
Stringf (CadenaDeFormato, [Texto o Valor, ...]) | Devuelve una cadena de texto construida utilizando una cadena de formato estándar de la biblioteca del lenguaje "C". Consejo: La función FormatString es compatible con la mayoría de los parámetros CadenaDeFormato. Utilice el cuadro de diálogo Cuadro de diálogo Format String para configurar automáticamente los parámetros. Nota: La cadena de formato debe escribirse entre comillas inglesas ("), por ejemplo, "Esto es una cadena"). Los parámetros de FormatString distinguen entre mayúsculas y minúsculas. Cuando se utiliza la función Stringf, la barra diagonal inversa "\" sirve para indicar que lo que sigue es un carácter de control de formato. Si la barra diagonal inversa no va seguida de un carácter de control (como «n», «r» o «t»), entonces se insertará el carácter que sigue a dicha barra diagonal. Para que se visualice una sola barra diagonal inversa, hay que escribir dos barras diagonales inversas. Ejemplo: Stringf("C:\\InSight2\\") = "C:\InSight2\" Los caracteres no imprimibles o los de código de control se visualizan como símbolos o texto «basura». Los parámetros de cadena de formato disponibles son:
%c | Devuelve el carácter Unicode correspondiente al valor entero indicado. Ejemplos con Stringf %c Si la celda A2 contiene el valor entero 65.000, entonces Stringf("%c",A2) da el carácter A que es el que corresponde al código ASCII 65. La función Stringf("Valor = %c",A2) da la cadena "Valor = A".
%d | Devuelve una cadena que contiene un valor entero. Ejemplos con Stringf %d Si la celda A2 contiene el valor de punto flotante 123.456, entonces Stringf("%d",A2) da la cadena numérica "123". La función Stringf("Valor = %d",A2) da la cadena alfanumérica "Valor = 123".
%e | Devuelve una cadena que contiene un valor en notación científica. El número de decimales puede especificarse insertando un punto decimal (.) y un número entre los parámetros % y e. Ejemplos con Stringf %e Si la celda A2 contiene el valor de punto flotante de 123.456, entonces Stringf("%e",A2) da la cadena numérica "1.234560e+02". La función Stringf("%.1e",A2) da la cadena numérica "1.2e+02" porque según lo especificado solo debe haber un número tras el punto decimal.
%f | Devuelve una cadena que contiene un valor de punto flotante. Se puede especificar el número de decimales insertando un punto decimal (.) y un número entre los parámetros % y f. Ejemplos con Stringf %f Si la celda A2 contiene el valor de punto flotante 123.456, entonces Stringf("%f",A2) da la cadena numérica "123.456001". La función Stringf("%.1f",A2) da la cadena numérica "123.5" porque según lo especificado solo debe haber un número tras el punto decimal.
%o | Da una cadena que contiene el valor octal de un entero. Ejemplos con Stringf %o Si la celda A2 contiene el valor entero 123.000, entonces Stringf("%o",A2) da la cadena numérica "173" que es el valor octal del entero 123.
%s | Devuelve una cadena con caracteres alfanuméricos anexados. Ejemplos con Stringf %s Si la celda A2 contiene la cadena "ABC", entonces Stringf("%s123",A2) da la cadena alfanumérica "ABC123". Si la celda A2 contiene la cadena numérica "123", entonces Stringf("%s.450",A2) da la cadena numérica "123.450".
%u | Da una cadena que contiene un valor entero sin signo. Ejemplos con Stringf %u Si la celda A2 contiene el valor de punto flotante 123.456, entonces Stringf("%u",A2) da la cadena numérica "123". La función Stringf("Valor = %u",A2) da la cadena alfanumérica "Valor = 123".
%x o %X | Da una cadena que contiene el valor hexadecimal de un entero. Ejemplos con Stringf %x Si la celda A2 contiene el valor entero 123.000, entonces Stringf("%x",A2) da la cadena "7b" que es el valor hexadecimal del entero 123.
%% | Da una cadena que contiene un solo carácter de porcentaje (%).
Los siguientes parámetros de cadena de formato se utilizan principalmente para formatear el texto (por ejemplo, formatear el texto de un mensaje de correo electrónico en la función WriteSMTP):
\r | Inserta un retorno de carro en el texto. Este parámetro se suele utilizar junto con \n (salto de línea).
\n | Inserta una nueva línea en el texto. Este parámetro se suele utilizar junto con \r (retorno de carro).
\\ | Inserta una barra diagonal inversa “\” en el texto.
\t | Inserta una tabulación en el texto.
\v | Inserta una tabulación vertical en el texto.
\f | Inserta un salto de impresión ASCII en el texto.
\x## | Inserta en el texto el carácter ASCII o Unicode especificado mediante el número hexadecimal ##. Ejemplo con Stringf \x## Si la celda A2 contiene Stringf("\x02123\x1bABC\03456"), entonces la celda mostrará: ("<STX>123<ESC>ABC<ETX>456").
\u#### | Inserta en el texto el carácter ASCII o Unicode especificado por el número hexadecimal de 16 bits ####.
Strtol (EnteroEnTexto) | Convierte en un número entero los caracteres numéricos (decimales, hexadecimales y octales) del principio de una cadena alfanumérica. Los caracteres hexadecimales deben comenzar con "0x", mientras que los caracteres octales deben comenzar con "0". Ejemplos con Strtol Decimales: Si la celda A2 contiene la cadena de texto "123ABC", entonces la función Strtol(A2) da el valor entero 123.000. Hexadecimales: Si la celda A2 contiene la cadena de texto "0x123", entonces la función Strtol(A2) da el valor entero 291.000. "0x12AB" = 4.779.000, ya que "A" y "B" son caracteres hexadecimales. "0x12GB" = 18.000, ya que "G" no es un carácter hexadecimal. Octales: Si la celda A2 contiene la cadena de texto "0123ABC", la función Strtol(A2) da el valor entero 83.000.
Substitute (TextoOrigen, TextoAntiguo, TextoNuevo, [Ejemplar]) | Devuelve una cadena de texto obtenida sustituyendo con TextoNuevo cada parte con TextoAntiguo que hay en el TextoOrigen. Si se especifica opcionalmente un índice de posición de Ejemplar, entonces se reemplazará únicamente el texto en la posición indicada del ejemplar. Ejemplo con Substitute Si la celda A2 contiene la cadena de texto "ABC123123", la celda A3 contiene la cadena "123" y la celda A4 contiene la cadena "abc", entonces la función Substitute(A2,A3,A4,1) sustituye el segundo ejemplar "123" en el TextoOrigen y da la cadena "ABC123abc".
Token (Texto, Delimitador, Ejemplar) | Devuelve el texto que se encuentra en la posición indicada por el índice del Ejemplar en la cadena delimitada. El argumento Delimitador debe especificarse entre comillas inglesas (") en la función. Ejemplo con Token Si la celda A2 contiene la cadena delimitada por comas "A,B,C,1,2,3", entonces Token(A2,",",2) devuelve "C" porque C es el texto que se encuentra en el sitio indicado por el índice 2.
Trim (Texto) | Devuelve el texto sin espacios iniciales ni finales, dejando sólo un espacio entre palabras (si hubiera varias). Se eliminan también todos los caracteres de control (retorno de carro, salto de línea, etc.). Ejemplo con Trim Si la celda A2 contiene la cadena " ABC 123 ", entonces Trim(A2) da la cadena "ABC 123".
Upper (Texto) | Devuelve el Texto escrito en mayúsculas. Ejemplo con Upper Si la celda A2 contiene la cadena alfanumérica "abc123", entonces la función Upper(A2) da la cadena "ABC123".
Value (TextoNúmerico) | Da el valor de punto flotante del TextoNumérico. Se ignoran los subsiguientes caracteres no numéricos. Ejemplo con Value Si la celda A2 contiene la cadena numérica "123.4", entonces la función Value(A2) da el valor de punto flotante 123.400.