> 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/find-substring.md).

# Find Substring

Cette fonction recherche un texte plus court à l'intérieur d'un texte plus long et renvoie un booléen indiquant si le sous-texte existe dans le texte principal. Elle est idéale pour des vérifications simples, des déclencheurs et de la logique conditionnelle dans vos scénarios.

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

`Main Text` Le texte dans lequel effectuer la recherche.

`Sub Text` Le sous-texte à rechercher à l'intérieur du texte principal.

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

`Result` Valeur booléenne : TRUE si le sous-texte est trouvé dans le texte principal, sinon FALSE.

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

`No Controls` Ce bloc n'a pas d'éléments interactifs. Il fonctionne uniquement via ses prises d'entrée.

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

* Vérification booléenne rapide pour vérifier la présence d'un sous-texte dans un texte.
* Comportement sûr si les entrées sont vides : renvoie FALSE si le texte requis est manquant.
* Configuration minimale — fournissez simplement les textes et lisez la sortie booléenne.

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

1. Fournissez le texte long dans la prise d'entrée `Main Text`. Vous pouvez utiliser un bloc `String Input` ou tout autre bloc qui produit du texte.
2. Fournissez le sous-texte à rechercher dans la prise d'entrée `Sub Text`.
3. Lisez la valeur booléenne depuis la prise de sortie `Result` pour décider des actions en aval (par exemple déclencher des journaux ou des alertes).

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

Lors de l'exécution, ce bloc vérifie si le `Sub Text` existe dans le `Main Text` et renvoie le résultat du contrôle via la prise `Result`.

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

* Pour éviter les problèmes de casse, combinez avec `String Operations` afin de convertir les deux textes dans le même format (par exemple en minuscules) avant la vérification.
* Utilisez `String Merge` pour construire des messages dynamiques (par exemple combiner des parties variables en un seul `Main Text`).
* Utilisez `Is None` ou `Replace None` avant ce bloc pour garantir que les entrées vides sont gérées de manière prévisible.
* Injectez le booléen `Result` dans un `Logic Input` ou d'autres blocs logiques (comme `And`, `Or`) pour piloter des flux conditionnels.
* Utilisez `Debug Input` ou `Data to JSON` pour consigner les correspondances pendant le développement et le dépannage.
* Pour stocker ou exporter les événements de correspondance, combinez la sortie booléenne avec des workflows comme `CSV Export` ou `Image Logger` selon vos besoins en données.

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

* Pas de correspondance alors qu'elle est attendue : vérifiez les différences de casse ou les espaces en début/fin. Normalisez le texte avec `String Operations` (par ex. mise en minuscules, trim) avant d'alimenter ce bloc.
* Toujours FALSE : assurez-vous que les prises `Main Text` et `Sub Text` reçoivent bien du texte valide. Utilisez `Debug Input` pour inspecter les valeurs en amont.
* Correspondances TRUE inattendues : vérifiez le sous-texte exact fourni ; de petites fautes de frappe ou des fragments peuvent toujours produire une correspondance selon le contenu.
