> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/data-logic/data-operations/string-operations.md).

# String Operations

Ce bloc de fonction propose un ensemble d'opérations courantes sur du texte. Choisissez une méthode dans la liste déroulante et le bloc adaptera ses entrées et sorties en fonction de l'opération sélectionnée. Idéal pour nettoyer, analyser, rechercher et préparer des données textuelles pour des logs ou un traitement ultérieur.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`String` Texte principal à traiter (entrée principale).\
Remarque : les prises d'entrée visibles changent selon la `Method` choisie. Par exemple, certaines méthodes ajoutent une seconde entrée `String` pour un sous-texte ou un séparateur, ou autorisent plusieurs entrées de type string.

## 📤 Sorties <a href="#outputs" id="outputs"></a>

`String` / `Number` / `Boolean` / autres types selon la `Method` sélectionnée.\
Remarque : les sorties s'actualisent pour refléter l'opération choisie — par exemple un décompte retourne un nombre, une vérification d'appartenance retourne un boolean, `Split` retourne une liste de `String`.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

`Method` Une liste déroulante permettant de sélectionner l'opération texte à appliquer. Les choix disponibles incluent par exemple : `Upper`, `Lower`, `Count`, `Merge`, `Split`, `Replace`, `Length`, `StartsWith`, `EndsWith`, `Join`, `Reverse`, `Remove Digits` et d'autres.

Quand vous changez la `Method`, le bloc ajuste automatiquement les entrées et sorties visibles pour correspondre à l'opération choisie.

## 🎨 Fonctionnalités <a href="#features" id="features"></a>

* `Adaptive Sockets` : les entrées et sorties changent dynamiquement selon la méthode sélectionnée, vous ne voyez que les contrôles nécessaires.
* `Wide Method Library` : conversions de casse, recherche, split/join, remplacements, vérifications (isdigit/isalpha/etc.), trim et utilitaires comme `Length` et `Reverse`.
* `Simple UI` : choisissez une opération et branchez les entrées `String` nécessaires — pas de script requis.

## 📝 Instructions d'utilisation <a href="#usage" id="usage"></a>

1. Sélectionnez l'opération désirée dans la liste `Method`.
2. Connectez la source de texte principale à l'entrée `String`. Si l'opération choisie nécessite des valeurs supplémentaires (par ex. un sous-texte ou un séparateur), des sockets d'entrée additionnels apparaîtront — fournissez-les.
3. Lisez le résultat sur les sorties affichées sur le bloc. Le type de sortie dépend de l'opération choisie (texte, nombre, boolean ou liste).

Exemples :

* Utilisez `Upper` pour convertir le texte en majuscules.
* Utilisez `Replace` pour substituer une sous-chaîne par une autre. Fournissez le texte principal et les entrées old/new substring.
* Utilisez `Split` pour obtenir une liste de sous-chaînes en donnant un séparateur.

## 📊 Évaluation <a href="#evaluation" id="evaluation"></a>

Lors de l'exécution, ce bloc applique l'opération textuelle choisie aux valeurs d'entrée et renvoie les résultats sur les sorties correspondantes. Si des entrées sont manquantes, le bloc affiche dans la mesure du possible le dernier résultat valide.

## 💡 Astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combinez avec `String Input` pour fournir des valeurs manuelles lors des tests ou de la construction de petits prototypes.
* Utilisez `Find Substring` puis `Replace` en séquence pour localiser et transformer des parties spécifiques d'un texte avant de les logger ou d'exporter.
* Envoyez les résultats vers `Data to JSON` ou `CSV Export` pour consigner le texte traité en vue d'une analyse ou d'un rapport ultérieur.
* Utilisez `Debug Input` pour inspecter rapidement des valeurs textuelles intermédiaires pendant la création du flux.
* Si la sortie texte sera affichée aux utilisateurs, appliquez `Strip` ou `Title Case` pour améliorer la mise en forme avant l'export ou l'affichage.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Si des entrées attendues disparaissent après avoir changé la `Method`, rouvrez le bloc et reconnectez les nouvelles entrées visibles — les sockets sont volontairement adaptatifs.
* Si vous attendez un résultat numérique ou boolean mais voyez du texte, vérifiez que vous avez bien sélectionné la bonne `Method` (certaines méthodes renvoient des types différents).
* Pour des sorties vides inattendues, vérifiez les blocs en amont qui fournissent le texte (comme `String Input` ou des blocs de lecture de données) et utilisez `Debug Input` pour confirmer les valeurs.
