Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Fonctions de chaîne

Dernière mise à jour :Aug 27, 2026

Cette rubrique décrit la syntaxe, la description, les paramètres et les valeurs de retour des fonctions de chaîne. Elle fournit également des exemples d'utilisation de ces fonctions.

substr

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

substr(s, i, j)

Description

Extrait une partie d'une chaîne.

Parameter

  • s : la chaîne source.

  • i : la position de début de l'extraction dans la chaîne source, en commençant par 1. La valeur -1 correspond au caractère le plus à droite de la chaîne. Type de données : entier.

  • j : la position de fin de l'extraction dans la chaîne source, en commençant par 1. La valeur -1 correspond au caractère le plus à droite de la chaîne. Type de données : entier.

Return value

Renvoie la sous-chaîne s[i, j] extraite de la chaîne source spécifiée par s.

Example

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

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

concat(s1, ...)

Description

Concatène des chaînes.

Parameter

Chaînes à concaténer. Vous pouvez spécifier une ou plusieurs chaînes. Les valeurs numériques sont prises en charge.

Return value

Renvoie la chaîne concaténée.

Example

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

Output:

  hello world

upper

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

upper(s)

Description

Convertit une chaîne en majuscules.

Parameter

s : la chaîne à convertir.

Return value

Renvoie la chaîne spécifiée par le paramètre s en majuscules.

Example

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

Output:

HELLO WORLD

lower

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

lower(s)

Description

Convertit une chaîne en minuscules.

Parameter

s : la chaîne à convertir.

Return value

Renvoie la chaîne spécifiée par le paramètre s en minuscules.

Example

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

Output:

hello world

len

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

len(s)

Description

Interroge la longueur d'une chaîne.

Parameter

s : la chaîne dont vous souhaitez mesurer la longueur.

Return value

Renvoie la longueur de la chaîne spécifiée par le paramètre s. Type de données : entier.

Example

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

byte

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

byte(c)

Description

Interroge la valeur ASCII d'un caractère.

Parameter

c : le caractère dont vous souhaitez interroger la valeur ASCII. Vous ne pouvez spécifier qu'un seul caractère.

Return value

Renvoie la valeur ASCII du caractère spécifié. Type de données : numérique.

Example

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

Output:

97
    65

match_re

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

match_re(s, p [, o])

Description

Utilise le moteur Perl Compatible Regular Expressions (PCRE) pour la mise en correspondance des expressions régulières. Pour plus d'informations, consultez la page Syntaxe PCRE.

Parameter

  • s : la chaîne à mettre en correspondance. Type de données : chaîne.

  • p : l'expression régulière pour la mise en correspondance. Type de données : chaîne.

  • o : le moteur d'expressions régulières. Type de données : chaîne. Ce paramètre est facultatif.

    • valeur vide : indique que cette fonction respecte la casse.

    • i : indique que cette fonction ne respecte pas la casse.

Return value

Si la chaîne correspond à l'expression régulière, la valeur true est renvoyée. Sinon, la valeur false est renvoyée.

Example

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

Output:

true
    true
    false

capture_re

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

capture_re(s, p [,init])

Description

Capture les correspondances d'une chaîne et renvoie les sous-chaînes correspondantes. Pour plus d'informations sur PCRE, consultez la page Syntaxe PCRE.

Parameter

  • s : la chaîne à mettre en correspondance. Type de données : chaîne.

  • p : l'expression régulière pour la mise en correspondance. Type de données : chaîne.

  • init : la position de début de la mise en correspondance, en commençant par 1. Type de données : entier.

Return value

Renvoie les sous-chaînes correspondantes au format dictionnaire si la chaîne correspond à l'expression régulière. Sinon, un dictionnaire vide est renvoyé.

Example

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

Response example

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

gsub_re

Le tableau suivant présente les détails relatifs à cette fonction.

Feature

Description

Syntax

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

Description

Remplace toutes les correspondances d'une chaîne et renvoie la chaîne après remplacement. Pour plus d'informations sur PCRE, consultez la page Syntaxe PCRE.

Parameter

  • subject : la chaîne à mettre en correspondance. Type de données : chaîne.

  • regex : l'expression régulière. Type de données : chaîne.

  • replace : la chaîne de remplacement. Type de données : chaîne.

    Vous pouvez spécifier le paramètre replace en utilisant les sous-chaînes correspondantes.

    • $0 : spécifie toutes les sous-chaînes qui correspondent à regex.

    • $N : spécifie la sous-chaîne qui correspond à la N-ième sous-expression entre parenthèses () de regex.

  • option : le moteur d'expressions régulières. Type de données : chaîne. Ce paramètre est facultatif.

Return value

Remplace toutes les sous-chaînes qui correspondent au paramètre regex spécifié dans le paramètre subject par celles spécifiées par le paramètre replace et renvoie la chaîne après remplacement.

Example

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

Response example

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

split

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

split(s [,sep])

Description

Divise une chaîne en un tableau de sous-chaînes et renvoie ce tableau.

Paramètre

  • s : la chaîne à diviser. Type de données : string.

  • sep : le séparateur utilisé pour diviser la chaîne. Type de données : string.

Valeur de retour

Renvoie un tableau de paires clé-valeur de type dictionnaire. La valeur du paramètre key est un nombre commençant par 1, par exemple [1]=xx et [2]=y. Si sep est laissé vide, la chaîne est divisée par des caractères d'espacement. Les caractères d'espacement incluent les espaces et les tabulations (\t).

Exemple

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

Requête :

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

Sortie :

[1]=xx1
    [2]=xx1

split_as_key

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

split_as_key(s [,sep])

Description

Divise une chaîne en un tableau de sous-chaînes et renvoie ce tableau.

Paramètre

  • s : la chaîne à diviser. Type de données : string.

  • sep : le séparateur utilisé pour diviser la chaîne. Type de données : string.

Valeur de retour

Renvoie les paramètres de réponse de la même manière que la fonction split(). Toutefois, le paramètre key est nommé d'après chaque élément divisé : Element 1 -> Element 2.

Exemple

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

Requête :

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

Sortie :

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

tohex

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

tohex(s)

Description

Convertit une chaîne en une chaîne hexadécimale.

Paramètre

s : la chaîne à convertir.

Valeur de retour

Renvoie une chaîne hexadécimale convertie à partir de la chaîne spécifiée par le paramètre s.

Exemple

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

Exemple de réponse

"X-DSL-TOHEX: 4ad583af22c2e7d40c1c916b2920299155a46464"

tostring

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

tostring(a)

Description

Convertit des données de n'importe quel type en une chaîne.

Paramètre

a : les données à convertir. Type de données : tout type.

Valeur de retour

Renvoie une chaîne convertie à partir de la valeur spécifiée par le paramètre a.

Exemple

say(tostring(123))

Sortie :

123

tochar

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

tochar(n1, n2, ...)

Description

  • Convertit un ou plusieurs entiers internes (valeurs ASCII) en une chaîne. Par exemple, 48 correspond au caractère « 0 ».

  • La longueur de la chaîne renvoyée dépend du nombre de paramètres spécifiés.

Paramètre

nX : les entiers à convertir. Vous pouvez spécifier un ou plusieurs entiers.

Valeur de retour

Renvoie une chaîne convertie à partir d'entiers.

Exemple

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

Sortie :

a
    A

reverse

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

reverse(str)

Description

Inverse une chaîne.

Paramètre

str : la chaîne à inverser.

Valeur de retour

Renvoie une chaîne inversée à partir de la chaîne spécifiée.

Exemple

say(reverse('hello'))

Sortie :

olleh

find

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

string.find (s, substr, pos)

Description

Recherche une sous-chaîne dans une chaîne spécifiée.

Paramètre

  • s : la chaîne dans laquelle effectuer la recherche.

  • substr : la sous-chaîne à rechercher.

  • pos : la position de début de la recherche. Type de données : numeric. Ce paramètre est facultatif. Vous pouvez spécifier un entier négatif. La valeur par défaut est 1.

Valeur de retour

  • Renvoie un tableau si la sous-chaîne spécifiée est trouvée.

    • L'index 1 indique la position de début de la recherche.

    • L'index 2 indique la position de fin de la recherche.

  • Renvoie un tableau vide si la sous-chaîne spécifiée n'est pas trouvée.

Exemple

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

Sortie :

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

format

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

format(fmt, ···)

Description

Met en forme les valeurs d'un ou plusieurs paramètres. La chaîne de format est le premier paramètre, qui doit être une chaîne. La chaîne de format suit la spécification du paramètre sprintf utilisé par les fonctions du langage C.

La syntaxe d'une chaîne de format est : %[paramètre][indicateur][largeur de champ][.précision]spécificateur.

  • %% : affiche des signes pourcentage (%) littéraux.

  • %c : convertit les entiers en caractères ASCII.

  • %d : convertit les entiers en nombres décimaux.

  • %f : convertit les nombres à N décimales en nombres à virgule flottante.

  • %o : convertit les entiers en nombres octaux.

  • %s : convertit les entiers en chaînes.

  • %x : convertit les entiers en nombres hexadécimaux en minuscules.

  • %X : convertit les entiers en nombres hexadécimaux en majuscules.

Paramètre

  • fmt : type string. Ce paramètre spécifie une chaîne de format.

  • Nombre variable de paramètres : tout type.

Valeur de retour

Renvoie une chaîne ACSII.

Exemple

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

Sortie :

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

tobin

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

tobin(str)

Description

Convertit une chaîne hexadécimale en une chaîne ASCII.

Paramètre

str : la chaîne hexadécimale à convertir. La casse n'est pas prise en compte.

Valeur de retour

Renvoie une chaîne ACSII.

Exemple

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

Sortie :

tobin://

trim

Le tableau suivant présente les détails de cette fonction.

Feature

Description

Syntaxe

trim(s, [, loc])

Description

Supprime tous les caractères d'espacement avant ou après la chaîne spécifiée par le paramètre s, et renvoie une chaîne avec les caractères d'espacement spécifiés supprimés.

Paramètre

  • s : la chaîne.

  • loc : la valeur par défaut est both. Ce paramètre est facultatif. Valeurs valides :

    • both : supprime les caractères d'espacement avant et après la chaîne.

    • left : supprime uniquement les caractères d'espacement avant la chaîne.

    • right : supprime uniquement les caractères d'espacement après la chaîne.

Valeur de retour

Renvoie une chaîne avec les caractères d'espacement spécifiés supprimés.

Exemple

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

Sortie :

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