Todos los productos
Search
Centro de documentos

CDN:Funciones de cadenas

Última actualización: Sep 04, 2026

Este tema describe la sintaxis, descripción, parámetros y valores de retorno de las funciones de cadenas. También se incluyen ejemplos de uso para cada función.

substr

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

substr(s, i, j)

Descripción

Extrae partes de una cadena.

Parámetro

  • s: la cadena de origen.

  • i: la posición donde comienza la extracción en la cadena de origen, contando desde 1. Un valor de -1 indica el carácter más a la derecha de la cadena. Tipo de dato: entero.

  • j: la posición donde termina la extracción en la cadena de origen, contando desde 1. Un valor de -1 indica el carácter más a la derecha de la cadena. Tipo de dato: entero.

Valor de retorno

Devuelve una subcadena s[i, j] extraída de la cadena de origen especificada por s.

Ejemplo

//Note: The two methods that are used to determine whether a file is an M3U8 file.
if eq(substr($uri, -5, -1), '.m3u8') {
    say(concat($uri, ' is .m3u8'))
}

uri_len = len($uri)
if eq(substr($uri, -5, uri_len), '.m3u8') {
    say(concat($uri, ' is .m3u8'))
}

concat

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

concat(s1, ...)

Descripción

Concatena cadenas.

Parámetro

Las cadenas que desea concatenar. Especifique una o más cadenas. Se admiten valores numéricos.

Valor de retorno

Devuelve una cadena concatenada.

Ejemplo

// Concatenates the following strings
str1 = 'hello'
str2 = ' '
str3 = 'world'
say(concat(str1, str2, str3))

Salida:

  hello world

upper

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

upper(s)

Descripción

Convierte una cadena a letras mayúsculas.

Parámetro

s: la cadena que desea convertir.

Valor de retorno

Devuelve la cadena especificada por el parámetro s en letras mayúsculas.

Ejemplo

str = 'hello world'                                                                                                                                                                                   
say(upper(str)) 

Salida:

HELLO WORLD

lower

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

lower(s)

Descripción

Convierte una cadena a letras minúsculas.

Parámetro

s: la cadena que desea convertir.

Valor de retorno

Devuelve la cadena especificada por el parámetro s en letras minúsculas.

Ejemplo

str = 'HELLO WORLD'
say(lower(str))

Salida:

hello world

len

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

len(s)

Descripción

Consulta la longitud de una cadena.

Parámetro

s: la cadena cuya longitud desea medir.

Valor de retorno

Devuelve la longitud de la cadena especificada por el parámetro s. Tipo de dato: entero.

Ejemplo

str = 'hello world'
say(len(str)) // Returns the length of str. Here is 11.

byte

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

byte(c)

Descripción

Consulta el valor ASCII de un carácter.

Parámetro

c: el carácter cuyo valor ASCII desea consultar. Solo puede especificar un carácter.

Valor de retorno

Devuelve el valor ASCII del carácter especificado. Tipo de dato: numérico.

Ejemplo

say(byte('a'))
say(byte('A'))

Salida:

97
    65

match_re

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

match_re(s, p [, o])

Descripción

Utiliza el motor de expresiones regulares compatibles con Perl (PCRE) para realizar coincidencias de expresiones regulares. Para obtener más información, consulte Sintaxis de PCRE.

Parámetro

  • s: la cadena que desea buscar. Tipo de dato: cadena.

  • p: la expresión regular para la búsqueda. Tipo de dato: cadena.

  • o: el motor de expresiones regulares. Tipo de dato: cadena. Este parámetro es opcional.

    • valor vacío: indica que esta función distingue entre mayúsculas y minúsculas.

    • i: indica que esta función no distingue entre mayúsculas y minúsculas.

Valor de retorno

Si la cadena coincide con la expresión regular, se devuelve true. De lo contrario, se devuelve false.

Ejemplo

str = 'Hello'
// An exact match with "Hello"
say(match_re(str, 'Hello'))
// A case-insensitive match with "Hello" 
say(match_re(str, 'hello', i))
// Matches any string that ends with the letter "l"
say(match_re(str, '.*l$'))

Salida:

true
    true
    false

capture_re

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

capture_re(s, p [,init])

Descripción

Captura las coincidencias de una cadena y devuelve las subcadenas coincidentes. Para obtener más información sobre PCRE, consulte Sintaxis de PCRE.

Parámetro

  • s: la cadena que desea buscar. Tipo de dato: cadena.

  • p: la expresión regular para la búsqueda. Tipo de dato: cadena.

  • init: la posición donde comienza la búsqueda, contando desde 1. Tipo de dato: entero.

Valor de retorno

Devuelve las subcadenas coincidentes en tipo diccionario si la cadena coincide con la expresión regular. De lo contrario, se devuelve un diccionario vacío.

Ejemplo

pcs = capture_re($request_uri,'^/([^/]+)/([^/]+)([^?]+)\?(.*)')
sec1 = get(pcs, 1)
sec2 = get(pcs, 2)
sec3 = get(pcs, 3)
if or(not(sec1), not(sec2), not(sec3)) {
   add_rsp_header('X-TENGINE-ERROR', 'auth failed - missing necessary uri set')
   exit(403)
}
digest = md5(concat(sec1, sec3))
if ne(digest, sec2) {
    add_rsp_header('X-TENGINE-ERROR', 'auth failed - invalid digest')
    exit(403)
}                                                                                                                                                      

Ejemplo de respuesta

"X-TENGINE-ERROR:auth failed - missing necessary uri set"

gsub_re

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

gsub_re(subject, regex, replace [,option])

Descripción

Reemplaza todas las coincidencias de una cadena y devuelve la cadena resultante tras el reemplazo. Para obtener más información sobre PCRE, consulte Sintaxis de PCRE.

Parámetro

  • subject: la cadena que desea buscar. Tipo de dato: cadena.

  • regex: la expresión regular. Tipo de dato: cadena.

  • replace: la cadena de reemplazo. Tipo de dato: cadena.

    Puede especificar el parámetro replace mediante las subcadenas coincidentes.

    • $0: especifica todas las subcadenas que coinciden con regex.

    • $N: especifica la subcadena que coincide con la N-ésima subexpresión entre paréntesis () de regex.

  • option: el motor de expresiones regulares. Tipo de dato: cadena. Este parámetro es opcional.

Valor de retorno

Reemplaza todas las subcadenas que coinciden con el parámetro regex especificado en el parámetro subject especificado por aquellas indicadas en el parámetro replace, y devuelve la cadena resultante tras el reemplazo.

Ejemplo

subject = 'Hello, Es'
regex = '([a-zA-Z])[a-z]+'
replace = '[$0,$1]'
add_rsp_header('X-DEBUG-GSUB-RE', gsub_re(subject, regex, replace))                                                                                                                                    

Ejemplo de respuesta

"X-DEBUG-GSUB-RE:[Hello,H], [Es,E]"

split

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

split(s [,sep])

Descripción

Divide una cadena en un arreglo de subcadenas y devuelve el arreglo.

Parámetro

  • s: la cadena que desea dividir. Tipo de dato: cadena.

  • sep: el separador utilizado para dividir la cadena. Tipo de dato: cadena.

Valor de retorno

Devuelve un arreglo de pares clave-valor en tipo diccionario. El valor del parámetro key es un número que comienza en 1; por ejemplo, [1]=xx y [2]=y. Si sep se deja vacío, la cadena se divide por caracteres de espacio en blanco. Los caracteres de espacio en blanco incluyen espacios y tabuladores (\t).

Ejemplo

if $arg_from {
    t = split($arg_from, ',')
    if get(t, 1) {
        say(concat('[1]=', get(t, 1)))
    }
    if get(t, 2) {
        say(concat('[2]=', get(t, 1)))
    }
}                                                                                                                                

Solicitud:

http://www.example.com?from=xx1,xx2,xx3

Salida:

[1]=xx1
    [2]=xx1

split_as_key

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

split_as_key(s [,sep])

Descripción

Divide una cadena en un arreglo de subcadenas y devuelve el arreglo.

Parámetro

  • s: la cadena que desea dividir. Tipo de dato: cadena.

  • sep: el separador utilizado para dividir la cadena. Tipo de dato: cadena.

Valor de retorno

Devuelve parámetros de respuesta de la misma manera que la función split(). Sin embargo, el parámetro key toma el nombre de cada elemento dividido: Element 1 -> Element 2.

Ejemplo

def echo_each(k, v, u) {
    s = concat(k, '=', v, ' u=', get(u, 1))
    say(s) 
}
if $arg_from {
    t = split_as_key($arg_from, ',')
    foreach(t, echo_each, ['hi,dsl'])
}                                                                                                                                  

Solicitud:

http://www.example.com?from=xx1,xx2,xx3

Salida:

xx2=xx2 u=hi,dsl
    xx1=xx1 u=hi,dsl
    xx3=xx3 u=hi,dsl

tohex

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

tohex(s)

Descripción

Convierte una cadena en una cadena hexadecimal.

Parámetro

s: la cadena que desea convertir.

Valor de retorno

Devuelve una cadena hexadecimal convertida a partir de la cadena especificada por el parámetro s.

Ejemplo

digest = sha1('xxxx')
add_rsp_header('X-DSL-TOHEX', tohex(digest))

Ejemplo de respuesta

"X-DSL-TOHEX: 4ad583af22c2e7d40c1c916b2920299155a46464"

tostring

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

tostring(a)

Descripción

Convierte datos de cualquier tipo en una cadena.

Parámetro

a: los datos que desea convertir. Tipo de dato: cualquier tipo.

Valor de retorno

Devuelve una cadena convertida a partir del valor especificado por el parámetro a.

Ejemplo

say(tostring(123))

Salida:

123

tochar

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

tochar(n1, n2, ...)

Descripción

  • Convierte uno o más enteros internos (valores ASCII) en una cadena. Por ejemplo, 48 corresponde al carácter "0".

  • La longitud de la cadena devuelta depende del número de parámetros especificados.

Parámetro

nX: los enteros que desea convertir. Puede especificar uno o más enteros.

Valor de retorno

Devuelve una cadena convertida a partir de enteros.

Ejemplo

say(tochar(97))
say(tochar(65))

Salida:

a
    A

reverse

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

reverse(str)

Descripción

Invierte una cadena.

Parámetro

str: la cadena que desea invertir.

Valor de retorno

Devuelve una cadena invertida a partir de la cadena especificada.

Ejemplo

say(reverse('hello'))

Salida:

olleh

find

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

string.find (s, substr, pos)

Descripción

Busca una subcadena dentro de una cadena especificada.

Parámetro

  • s: la cadena donde desea buscar.

  • substr: la subcadena que desea buscar.

  • pos: la posición donde comienza la búsqueda. Tipo de dato: numérico. Este parámetro es opcional. Puede especificar un entero negativo. El valor predeterminado es 1.

Valor de retorno

  • Devuelve un arreglo si se encuentra la subcadena especificada.

    • El índice 1 indica la posición donde comienza la búsqueda.

    • El índice 2 indica la posición donde termina la búsqueda.

  • Devuelve un arreglo vacío si no se encuentra la subcadena especificada.

Ejemplo

str = 'hello world'
say(concat('r start pos: ',get(find(str, 'r'), 1)))
say(concat('r end pos: ',get(find(str, 'r'), 2)))
say(concat('rl start pos: ',get(find(str, 'rl'), 1)))
say(concat('rl end pos: ',get(find(str, 'rl'), 2)))

Salida:

r start pos: 9
    r end pos: 9
    rl start pos: 9
    rl end pos: 10

format

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

format(fmt, ···)

Descripción

Da formato a los valores de uno o más parámetros. La cadena de formato es el primer parámetro y debe ser una cadena. La cadena de formato sigue la especificación del parámetro sprintf utilizado por las funciones en el lenguaje de programación C.

La sintaxis de una cadena de formato es: %[parámetro][indicador][ancho de campo][.precisión]especificador.

  • %%: imprime signos de porcentaje literales (%).

  • %c: convierte enteros en caracteres ASCII.

  • %d: convierte enteros en números decimales.

  • %f: convierte números de precisión N en números de punto flotante.

  • %o: convierte enteros en números octales.

  • %s: convierte enteros en cadenas.

  • %x: convierte enteros en números hexadecimales en letras minúsculas.

  • %X: convierte enteros en números hexadecimales en letras mayúsculas.

Parámetro

  • fmt: tipo cadena. Este parámetro especifica una cadena de formato.

  • Número variable de parámetros: cualquier tipo.

Valor de retorno

Devuelve una cadena ASCII.

Ejemplo

say(concat('format:', format('%%%s$%.2s$%s$%c$%d$%2.2f$%.2o$%x$%X', 'format', 3.1415926, true, 95, 3.1415926, 3.1415926, 3.1415926, 10, 10)))

Salida:

format:%format$3.$true$_$3$3.14$03$a$A

tobin

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

tobin(str)

Descripción

Convierte una cadena hexadecimal en una cadena ASCII.

Parámetro

str: la cadena hexadecimal que desea convertir. No distingue entre mayúsculas y minúsculas.

Valor de retorno

Devuelve una cadena ASCII.

Ejemplo

say(concat('tobin:', tobin('2F2F')))

Salida:

tobin://

trim

A continuación se describen los detalles de esta función.

Función

Descripción

Sintaxis

trim(s, [, loc])

Descripción

Elimina todos los caracteres de espacio en blanco antes o después de la cadena especificada por el parámetro s, y devuelve una cadena sin los caracteres de espacio en blanco indicados.

Parámetro

  • s: la cadena.

  • loc: el valor predeterminado es both. Este parámetro es opcional. Valores válidos:

    • both: elimina los caracteres de espacio en blanco antes y después de la cadena.

    • left: elimina solo los caracteres de espacio en blanco antes de la cadena.

    • right: elimina solo los caracteres de espacio en blanco después de la cadena.

Valor de retorno

Devuelve una cadena sin los caracteres de espacio en blanco especificados.

Ejemplo

say(concat('trim():', trim(' abcd ')))
say(concat('trim(left):', trim(' abcd', 'left')))
say(concat('trim(right):', trim('abcd ', 'right')))

Salida:

trim():abcd
    trim(left):abcd
    trim(right):abcd