Todos os produtos
Search
Central de documentação

CDN:Funções de string

Última atualização: Aug 27, 2026

Este tópico descreve a sintaxe, a descrição, os parâmetros e os valores de retorno das funções de string. Também são apresentados exemplos de uso dessas funções.

substr

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

substr(s, i, j)

Descrição

Extrai partes de uma string.

Parâmetro

  • s: a string source.

  • i: posição inicial da extração na string source, contando a partir de 1. O valor -1 indica o caractere mais à direita da string. Tipo de dados: inteiro.

  • j: posição final da extração na string source, contando a partir de 1. O valor -1 indica o caractere mais à direita da string. Tipo de dados: inteiro.

Valor de retorno

Retorna uma substring s[i, j] extraída da string source especificada por s.

Exemplo

//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 tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

concat(s1, ...)

Descrição

Concatena strings.

Parâmetro

Strings que você deseja concatenar. É possível especificar uma ou mais strings. Valores numéricos são suportados.

Valor de retorno

Retorna uma string concatenada.

Exemplo

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

Saída:

  hello world

upper

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

upper(s)

Descrição

Converte uma string para letras maiúsculas.

Parâmetro

s: a string que você deseja converter.

Valor de retorno

Retorna a string especificada pelo parâmetro s em letras maiúsculas.

Exemplo

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

Saída:

HELLO WORLD

lower

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

lower(s)

Descrição

Converte uma string para letras minúsculas.

Parâmetro

s: a string que você deseja converter.

Valor de retorno

Retorna a string especificada pelo parâmetro s em letras minúsculas.

Exemplo

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

Saída:

hello world

len

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

len(s)

Descrição

Consulta o comprimento de uma string.

Parâmetro

s: a string que você deseja medir.

Valor de retorno

Retorna o comprimento da string especificada pelo parâmetro s. Tipo de dados: inteiro.

Exemplo

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

byte

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

byte(c)

Descrição

Consulta o valor ASCII de um caractere.

Parâmetro

c: o caractere cujo valor ASCII você deseja consultar. É possível especificar apenas um caractere.

Valor de retorno

Retorna o valor ASCII do caractere especificado. Tipo de dados: numérico.

Exemplo

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

Saída:

97
    65

match_re

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

match_re(s, p [, o])

Descrição

Utiliza o mecanismo Perl Compatible Regular Expressions (PCRE) para correspondência de expressões regulares. Para obter mais informações, consulte Sintaxe PCRE.

Parâmetro

  • s: a string que você deseja corresponder. Tipo de dados: string.

  • p: a expressão regular para correspondência. Tipo de dados: string.

  • o: o mecanismo de expressão regular. Tipo de dados: string. Este parâmetro é opcional.

    • valor vazio: especifique que esta função diferencia maiúsculas de minúsculas.

    • i: especifique que esta função não diferencia maiúsculas de minúsculas.

Valor de retorno

Se a string corresponder à expressão regular, true será retornado. Caso contrário, false será retornado.

Exemplo

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$'))

Saída:

true
    true
    false

capture_re

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

capture_re(s, p [,init])

Descrição

Captura as correspondências de uma string e retorna as substrings correspondentes. Para obter mais informações sobre PCRE, consulte Sintaxe PCRE.

Parâmetro

  • s: a string que você deseja corresponder. Tipo de dados: string.

  • p: a expressão regular para correspondência. Tipo de dados: string.

  • init: a posição onde a correspondência começa, contando a partir de 1. Tipo de dados: inteiro.

Valor de retorno

Retorna as substrings correspondentes no tipo dicionário se a string corresponder à expressão regular. Caso contrário, um dicionário vazio será retornado.

Exemplo

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

Exemplo de resposta

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

gsub_re

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

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

Descrição

Substitui todas as correspondências de uma string e retorna a string após a substituição. Para obter mais informações sobre PCRE, consulte Sintaxe PCRE.

Parâmetro

  • subject: a string que você deseja corresponder. Tipo de dados: string.

  • regex: a expressão regular. Tipo de dados: string.

  • replace: a string para substituição. Tipo de dados: string.

    É possível especificar o parâmetro replace usando as substrings correspondentes.

    • $0: especifique todas as substrings que correspondem a regex.

    • $N: especifique a substring que corresponde à N-ésima subexpressão entre parênteses () de regex.

  • option: o mecanismo de expressão regular. Tipo de dados: string. Este parâmetro é opcional.

Valor de retorno

Substitui todas as substrings que correspondem ao parâmetro regex especificado no parâmetro subject especificado por aquelas definidas no parâmetro replace e retorna a string após a substituição.

Exemplo

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

Exemplo de resposta

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

split

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

split(s [,sep])

Descrição

Divide uma string em um array de substrings e retorna o array.

Parâmetro

  • s: a string que você deseja dividir. Tipo de dados: string.

  • sep: o separador usado para dividir a string. Tipo de dados: string.

Valor de retorno

Retorna um array de pares chave-valor no tipo dicionário. O valor do parâmetro key é um número que começa em 1, por exemplo, [1]=xx e [2]=y. Se sep for deixado vazio, a string será dividida por caracteres de espaço em branco. Caracteres de espaço em branco incluem espaços e tabulações (\t).

Exemplo

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

Solicitação:

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

Saída:

[1]=xx1
    [2]=xx1

split_as_key

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

split_as_key(s [,sep])

Descrição

Divide uma string em um array de substrings e retorna o array.

Parâmetro

  • s: a string que você deseja dividir. Tipo de dados: string.

  • sep: o separador usado para dividir a string. Tipo de dados: string.

Valor de retorno

Retorna parâmetros de resposta da mesma forma que a função split(). No entanto, o parâmetro key recebe o nome de cada elemento dividido: Element 1 -> Element 2.

Exemplo

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'])
}                                                                                                                                  

Solicitação:

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

Saída:

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

tohex

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

tohex(s)

Descrição

Converte uma string em uma string hexadecimal.

Parâmetro

s: a string que você deseja converter.

Valor de retorno

Retorna uma string hexadecimal convertida a partir da string especificada pelo parâmetro s.

Exemplo

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

Exemplo de resposta

"X-DSL-TOHEX: 4ad583af22c2e7d40c1c916b2920299155a46464"

tostring

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

tostring(a)

Descrição

Converte dados de qualquer tipo em uma string.

Parâmetro

a: os dados que você deseja converter. Tipo de dados: qualquer tipo.

Valor de retorno

Retorna uma string convertida a partir do valor especificado pelo parâmetro a.

Exemplo

say(tostring(123))

Saída:

123

tochar

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

tochar(n1, n2, ...)

Descrição

  • Converte um ou mais inteiros internos (valores ASCII) em uma string. Por exemplo, 48 corresponde ao caractere "0".

  • O comprimento da string retornada baseia-se no número de parâmetros especificados.

Parâmetro

nX: os inteiros que você deseja converter. É possível especificar um ou mais inteiros.

Valor de retorno

Retorna uma string convertida a partir de inteiros.

Exemplo

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

Saída:

a
    A

reverse

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

reverse(str)

Descrição

Inverte uma string.

Parâmetro

str: a string que você deseja inverter.

Valor de retorno

Retorna uma string invertida a partir da string especificada.

Exemplo

say(reverse('hello'))

Saída:

olleh

find

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

string.find (s, substr, pos)

Descrição

Pesquisa uma substring em uma string especificada.

Parâmetro

  • s: a string onde você deseja pesquisar.

  • substr: a substring que você deseja pesquisar.

  • pos: a posição onde a pesquisa começa. Tipo de dados: numérico. Este parâmetro é opcional. É possível especificar um inteiro negativo. O valor padrão é 1.

Valor de retorno

  • Retorna um array se a substring especificada for encontrada.

    • O índice 1 indica a posição onde a pesquisa começa.

    • O índice 2 indica a posição onde a pesquisa termina.

  • Retorna um array vazio se a substring especificada não for encontrada.

Exemplo

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

Saída:

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

format

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

format(fmt, ···)

Descrição

Formata os valores de um ou mais parâmetros. A string de formato é o primeiro parâmetro, que deve ser uma string. A string de formato segue a especificação do parâmetro sprintf usado por funções na linguagem de programação C.

A sintaxe de uma string de formato é: %[parâmetro][sinalizador][largura do campo][.precisão]especificador.

  • %%: imprime sinais de porcentagem literais (%).

  • %c: converte inteiros em caracteres ASCII.

  • %d: converte inteiros em números decimais.

  • %f: converte números com precisão N em números de ponto flutuante.

  • %o: converte inteiros em números octais.

  • %s: converte inteiros em strings.

  • %x: converte inteiros em números hexadecimais com letras minúsculas.

  • %X: converte inteiros em números hexadecimais com letras maiúsculas.

Parâmetro

  • fmt: o tipo string. Este parâmetro especifica uma string de formato.

  • O número variável de parâmetros: qualquer tipo.

Valor de retorno

Retorna uma string ASCII.

Exemplo

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

Saída:

format:%format$3.$true$_$3$3,14$03$a$A

tobin

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

tobin(str)

Descrição

Converte uma string hexadecimal em uma string ASCII.

Parâmetro

str: a string hexadecimal que você deseja converter. Não diferencia maiúsculas de minúsculas.

Valor de retorno

Retorna uma string ASCII.

Exemplo

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

Saída:

tobin://

trim

A tabela a seguir detalha esta função.

Recurso

Descrição

Sintaxe

trim(s, [, loc])

Descrição

Remove todos os caracteres de espaço em branco antes ou depois da string especificada pelo parâmetro s e retorna uma string com os caracteres de espaço em branco especificados removidos.

Parâmetro

  • s: a string.

  • loc: o valor padrão é both. Este parâmetro é opcional. Valores válidos:

    • both: remove os caracteres de espaço em branco antes e depois da string.

    • left: remove apenas os caracteres de espaço em branco antes da string.

    • right: remove apenas os caracteres de espaço em branco depois da string.

Valor de retorno

Retorna uma string com os caracteres de espaço em branco especificados removidos.

Exemplo

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

Saída:

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