> 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/string-operations.md).

# String Operations

Este bloque de función ofrece una colección de transformaciones y verificaciones de texto comunes. Elige un método desde el desplegable y el bloque adaptará sus entradas y salidas según la operación seleccionada. Es ideal para limpiar, analizar, buscar y preparar datos textuales para registro o procesamiento posterior.

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

`String` Texto principal a procesar (entrada primaria).\
Nota: Los conectores de entrada pueden cambiar según el método seleccionado. Por ejemplo, algunos métodos añaden una segunda entrada `String` para una subcadena o un separador, o permiten múltiples entradas de cadena.

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

`String` / `Number` / `Boolean` / otros tipos según el método seleccionado.\
Nota: Las salidas se actualizan para reflejar la operación elegida — p. ej. un recuento devuelve un número, una verificación de pertenencia devuelve un booleano, `Split` devuelve una lista de cadenas.

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

`Method` Un desplegable donde seleccionas qué operación de texto aplicar. Las opciones disponibles incluyen, por ejemplo: `Upper`, `Lower`, `Count`, `Merge`, `Split`, `Replace`, `Length`, `StartsWith`, `EndsWith`, `Join`, `Reverse`, `Remove Digits`, y más.

Al cambiar el `Method`, el bloque ajusta automáticamente las entradas y salidas visibles para coincidir con la operación seleccionada.

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

* `Adaptive Sockets` — Las entradas y salidas cambian dinámicamente según el método elegido para mostrar solo los controles necesarios.
* `Wide Method Library` — Incluye conversión de mayúsculas/minúsculas, búsqueda, división/unión, reemplazos, comprobaciones (isdigit/isalpha/etc.), recorte y utilidades como length y reverse.
* `Simple UI` — Selecciona una operación y conecta las entradas de texto requeridas — no se necesita programación.

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

1. Selecciona la operación deseada desde el desplegable `Method`.
2. Conecta la fuente de texto principal a la entrada `String`. Si la operación elegida requiere valores adicionales (p. ej. una subcadena o un separador), aparecerán conectores de entrada adicionales: proporciona esos valores.
3. Lee el resultado en las salidas que muestra el bloque. El tipo de salida depende de la operación seleccionada (texto, número, booleano o lista).

Ejemplos:

* Usa `Upper` para convertir el texto a mayúsculas.
* Usa `Replace` para sustituir una subcadena por otra. Proporciona el texto principal y las entradas de subcadena vieja/nueva.
* Usa `Split` para obtener una lista de subcadenas indicando un separador.

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

Al ejecutarse, este bloque aplica la operación textual elegida a los valores de entrada y devuelve los resultados en los conectores de salida correspondientes. Si faltan entradas, el bloque mostrará, cuando sea posible, el último resultado válido.

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

* Combina con `String Input` para proporcionar valores de texto manuales durante pruebas o al construir prototipos pequeños.
* Usa `Find Substring` y luego `Replace` en secuencia para localizar y transformar partes específicas de un texto antes de registrar o exportar.
* Envía resultados a `Data to JSON` o `CSV Export` cuando necesites registrar texto procesado para análisis o informes posteriores.
* Usa `Debug Input` para inspeccionar rápidamente valores de texto intermedios mientras construyes tu flujo.
* Si la salida de texto se mostrará a usuarios, aplica `Strip` o `Title Case` para mejorar el formato antes de exportar o visualizar.

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

* Si las entradas esperadas desaparecen tras cambiar el `Method`, vuelve a abrir el bloque y vuelve a conectar las nuevas entradas visibles — los conectores son intencionalmente adaptativos.
* Si esperabas un resultado numérico o booleano pero ves texto, confirma que seleccionaste el `Method` correcto (algunos métodos devuelven distintos tipos de datos).
* Para salidas vacías inesperadas, revisa los bloques upstream que proveen el texto de entrada (por ejemplo, `String Input` u otros bloques de lectura de datos) y usa `Debug Input` para verificar los valores.
