> For the complete documentation index, see [llms.txt](https://ksaar.gitbook.io/ksaar-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ksaar.gitbook.io/ksaar-documentation/les-elements/les-formules/fonctions-de-texte.md).

# Fonctions de texte

{% hint style="success" %}
Les fonctions sur les formules sont disponibles dans chacune des sous-pages dédiées :&#x20;

* [Opérateurs](/ksaar-documentation/les-elements/les-formules/operateurs.md)
* [Fonctions de texte](/ksaar-documentation/les-elements/les-formules/fonctions-de-texte.md)
* [Fonctions mathématiques](/ksaar-documentation/les-elements/les-formules/fonctions-mathematiques.md)
* [Fonctions de date](/ksaar-documentation/les-elements/les-formules/fonctions-de-date.md)
* [Fonctions de formatage](/ksaar-documentation/les-elements/les-formules/fonctions-de-formatage.md)
* [Fonctions de liste](/ksaar-documentation/les-elements/les-formules/fonctions-de-liste.md)
* [Fonctions sur des champs Ksaar](/ksaar-documentation/les-elements/les-formules/fonctions-sur-des-champs-ksaar.md)
* [Fonctions de Logique et autres](/ksaar-documentation/les-elements/les-formules/fonctions-de-logique-et-autres.md)

Des exemples de formules prêtes à l'emploi se trouvent ici : [Bibliothèque de formules classiques](/ksaar-documentation/les-elements/les-formules/bibliotheque-de-formules-classiques.md)
{% endhint %}

<details>

<summary>CHAR</summary>

#### Résumé

La fonction `CHAR` renvoie le caractère correspondant à un code numérique donné.

#### Syntaxe

* `CHAR(code)`

#### Exemple

* `CHAR(65)` → `A`

</details>

<details>

<summary>CODE</summary>

#### Résumé

La fonction `CODE` renvoie le code numérique d'un caractère donné.

#### Syntaxe

* `CODE(caractère)`

#### Exemple

* `CODE("A")` → `65`

</details>

<details>

<summary>CONCATENATE</summary>

#### Résumé

La fonction `CONCATENATE` ou `&` concatène (fusionne) plusieurs chaînes de caractères en une seule.

#### Syntaxe

* `CONCATENATE(texte1, [texte2, ...])`
* `texte1 & texte2`

#### Exemple

* `CONCATENATE("Hello", " ", "world")` → `Hello world`
* `"Hello" & " " & "world"` → `Hello world`

</details>

<details>

<summary>DEBURR</summary>

#### Résumé

La fonction `DEBURR` supprime les accents et certains caractères spéciaux d’une chaîne de caractères, pour ne conserver que des lettres standard non accentuées.

#### Syntaxe

* `DEBURR(texte)`

#### Exemple

* `DEBURR("Crème brûlée") → Creme brulee`
* `DEBURR("façade") → facade`

</details>

<details>

<summary>DECODE_URL</summary>

#### Résumé

La fonction `DECODE_URL` décode une URL encodée pour la rendre lisible.

#### Syntaxe

* `DECODE_URL(urlEncodé)`

#### Exemple

* `DECODE_URL("Hello%20world")` → `Hello world`

</details>

<details>

<summary>ENCODE_URL</summary>

#### Résumé

La fonction `ENCODE_URL` encode du texte pour qu'il puisse être utilisé dans une URL.

#### Syntaxe

* `ENCODE_URL(url)`

#### Exemple

* `ENCODE_URL("Hello world")` → `Hello%20world`

</details>

<details>

<summary>DECODE_BASE64</summary>

#### Résumé

La fonction `DECODE_BASE64` décode une chaîne encodée en Base64 afin de la rendre lisible.

#### Syntaxe

* `DECODE_BASE64(base64Encodée)`

#### Exemple

* `DECODE_BASE64("SGVsbG8gd29ybGQ=")` → `Hello world`

</details>

<details>

<summary>ENCODE_BASE64</summary>

#### Résumé

La fonction `ENCODE_BASE64` encode du texte en Base64.

#### Syntaxe

* `ENCODE_BASE64(texte)`

#### Exemple

* `DECODE_BASE64("Hello world")` → `SGVsbG8gd29ybGQ=`

</details>

<details>

<summary>HMAC_SHA256</summary>

#### Résumé

La fonction `HMAC_SHA256` hash un message suivant une clé, tous deux passés en paramètre de la fonction.

Il vous est possible de hasher tout type de champ. Cependant, le message ne peut pas être vide : le hash d’un message vide renverra null.

La clé, quant à elle, doit être un texte, un nombre ou un booléen. Les clés vides sont autorisées.

Le résultat est renvoyé sous forme de texte.

#### Syntaxe

* `HMAC_SHA256(message, clé)`

#### Exemple

* `HMAC_SHA256("j'adore", "ksaar")` → `1b5c8bb89f00ff8b1858ecc37708891180c1a6e210c956dea3e240b92937a967`

</details>

<details>

<summary>JOIN</summary>

#### Résumé

La fonction `JOIN` joint plusieurs chaînes de caractères en une seule, en utilisant un séparateur.

#### Syntaxe

* `JOIN(séparateur, element1, [element2, ...])`

#### Exemple

* `JOIN("-", "Hello", "world", "!")` → `Hello-world-!`

</details>

<details>

<summary>LEFT</summary>

#### Résumé

La fonction `LEFT` renvoie un nombre spécifié de caractères de la chaîne de caractères à partir de la gauche.

#### Syntaxe

* `LEFT(texte, nombre)`

#### Exemple

* `LEFT("Hello", 3)` → `Hel`

</details>

<details>

<summary>LEN</summary>

#### Résumé

La fonction `LEN` renvoie le nombre de caractères dans une chaîne de caractères, ou le nombre d'éléments dans une liste.

#### Syntaxe

* `LEN(texte)`
* `LEN(liste)`

#### Exemple

* `LEN("Hello")` → `5`
* `LEN([4, 5, 6])` → `3`

</details>

<details>

<summary>LOWER</summary>

#### Résumé

La fonction `LOWER` transforme tous les caractères d'une chaîne de caractères en minuscules.

#### Syntaxe

* `LOWER(texte)`

#### Exemple

* `LOWER("HELLO")` → `hello`

</details>

<details>

<summary>MID</summary>

#### Résumé

La fonction `MID` renvoie une sous-chaîne d'une chaîne de caractères, en commençant à une position spécifiée et d'une longueur spécifiée.

#### Syntaxe

* `MID(texte, début, longueur)`

#### Exemple

* `MID("Hello", 2, 3)` → `ell`

</details>

<details>

<summary>PROPER</summary>

#### Résumé

La fonction `PROPER` met la première lettre de chaque mots d'un texte en majuscule.

#### Syntaxe

* `PROPER(texte)`

#### Exemple

* `PROPER("hello WORLD")` → `Hello World`

</details>

<details>

<summary>REGEX_EXTRACT</summary>

#### Résumé

La fonction `REGEX_EXTRACT` extrait les correspondances d'une expression régulière dans une chaîne de caractères.

Vous pouvez retrouver la documentation sur les expressions régulières [ici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).

#### Syntaxe

* `REGEX_EXTRACT(texte, expression_régulière)`

#### Exemple

* `REGEX_EXTRACT("Hello123world", "\d+")` → `123`

</details>

<details>

<summary>REGEX_MATCH</summary>

#### Résumé

La fonction `REGEX_MATCH` vérifie si une chaîne de caractères correspond à une expression régulière donnée.

Vous pouvez retrouver la documentation sur les expressions régulières [ici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).

#### Syntaxe

* `REGEX_MATCH(texte, expression_régulière)`

#### Exemple

* `REGEX_MATCH("Hello123", "\d+")` → `true`

</details>

<details>

<summary>REGEX_REPLACE</summary>

#### Résumé

La fonction `REGEX_REPLACE` remplace le texte qui correspond à une expression régulière par du texte donné.

Vous pouvez retrouver la documentation sur les expressions régulières [ici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions).

#### Syntaxe

* `REGEX_REPLACE(texte, expression_régulière, remplacement)`

#### Exemple

* `REGEX_REPLACE("Hello123", "\d+", "!")` → `Hello!`

</details>

<details>

<summary>REPLACE</summary>

#### Résumé

La fonction `REPLACE` remplace une partie d'une chaîne de caractères, en commençant à une position spécifiée et d'une longueur spécifiée, par une autre.

#### Syntaxe

* `REPLACE(texte, début, longueur, nouveauTexte)`

#### Exemple

* `REPLACE("Hello", 2, 3, "world")` → `Hworldo`

</details>

<details>

<summary>RIGHT</summary>

#### Résumé

La fonction `RIGHT` renvoie un nombre spécifié de caractères de la chaîne de caractères à partir de la droite. Contrairement à `FIND`, cette fonction n'est pas sensible à la casse.

#### Syntaxe

* `RIGHT(texte, nombre)`

#### Exemple

* `RIGHT("Hello", 3)` → `llo`

</details>

<details>

<summary>SEARCH</summary>

#### Résumé

La fonction `SEARCH` recherche une chaîne de caractères à l'intérieur d'une autre et renvoie la position de la première occurrence.

#### Syntaxe

* `SEARCH(recherche, texte)`

#### Exemple

* `SEARCH("world", "Hello world")` → `7`
* `SEARCH("WORLD", "Hello world")` → `7`

</details>

<details>

<summary>SPLIT</summary>

#### Résumé

La fonction `SPLIT` divise une chaîne de caractères en plusieurs chaînes, basées sur un séparateur.

#### Syntaxe

* `SPLIT(texte, caractère)`

#### Exemple

* `SPLIT("Hello-world", "-")` → `["Hello", "world"]`

</details>

<details>

<summary>SUBSTITUTE</summary>

#### Résumé

La fonction `SUBSTITUTE` remplace du texte par du nouveau texte dans une chaîne de caractères.

#### Syntaxe

* `SUBSTITUTE(texte, ancienTexte, nouveauTexte, occurrence = -1)`

#### Exemple

* `SUBSTITUTE("world world", "world", "Hello", 1)` → `Hello world`

</details>

<details>

<summary>TRIM</summary>

#### Résumé

La fonction `TRIM` supprime les espaces inutiles dans une chaîne de caractères et garde uniquement un espace entre chaque mots.

#### Syntaxe

* `TRIM(texte)`

#### Exemple

* `TRIM(" Hello ")` → `Hello`

</details>

<details>

<summary>UPPER</summary>

#### Résumé

La fonction `UPPER` transforme tous les caractères d'une chaîne de caractères en majuscules.

#### Syntaxe

* `UPPER(texte)`

#### Exemple

* `UPPER("hello")` → `HELLO`

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ksaar.gitbook.io/ksaar-documentation/les-elements/les-formules/fonctions-de-texte.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
