> 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/spanish/function-blocks/blocks-reference/data-logic/data-operations/find-substring.md).

# Find Substring

Este bloque de función busca un texto más corto dentro de un texto más largo y devuelve un resultado booleano que indica si la subcadena existe en el texto principal. Es ideal para comprobaciones de texto simples, disparadores y lógica condicional en tus escenarios.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Main Text` El texto en el que se buscará.

`Sub Text` La subcadena que se desea encontrar dentro del texto principal.

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

`Result` Valor booleano: TRUE cuando la subcadena se encuentra en el texto principal, de lo contrario FALSE.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`No Controls` Este bloque no tiene elementos interactivos. Opera únicamente a través de sus conectores de entrada.

## 🎯 Características <a href="#features" id="features"></a>

* Verificación booleana rápida para comprobar la presencia de una subcadena en un texto.
* Comportamiento seguro con entradas vacías: devuelve FALSE si falta el texto requerido.
* Configuración mínima — solo proporciona los textos y lee la salida booleana.

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Proporciona el texto más largo en el conector de entrada `Main Text`. Puedes usar un bloque `String Input` u otro bloque que genere texto.
2. Proporciona la subcadena a buscar en el conector de entrada `Sub Text`.
3. Lee el valor booleano desde el conector de salida `Result` para decidir acciones posteriores (por ejemplo, activar registros o alertas).

## 📊 Evaluación <a href="#evaluation" id="evaluation"></a>

Al evaluarse, este bloque comprueba si la `Sub Text` existe dentro de la `Main Text` y envía el resultado de la comprobación a través del conector `Result`.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para evitar problemas con mayúsculas/minúsculas, combina con `String Operations` para convertir ambos textos a un mismo formato antes de comprobar.
* Usa `String Merge` para construir mensajes dinámicos (por ejemplo, combinar partes variables en un único `Main Text`).
* Utiliza `Is None` o `Replace None` antes de este bloque para asegurar que las entradas vacías se manejen de forma predecible.
* Alimenta el booleano `Result` a un `Logic Input` u otros bloques lógicos (como `And`, `Or`) para dirigir flujos condicionales.
* Usa `Debug Input` o `Data to JSON` para registrar coincidencias durante el desarrollo y la depuración.
* Para almacenar o exportar eventos de coincidencia, combina la salida booleana con flujos de trabajo como `CSV Export` o `Image Logger` según tus necesidades de datos.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Sin coincidencias pero se esperaban: revisa diferencias de mayúsculas/minúsculas o espacios al inicio/final. Normaliza el texto con `String Operations` (por ejemplo, convertir a minúsculas o recortar) antes de alimentar este bloque.
* Siempre FALSE: asegúrate de que los conectores `Main Text` y `Sub Text` reciban texto válido. Usa `Debug Input` para inspeccionar los valores aguas arriba.
* Coincidencias TRUE inesperadas: verifica la subcadena exacta proporcionada; pequeños errores tipográficos o fragmentos de palabras pueden producir coincidencias dependiendo del contenido.
