En este tema, aprenderemos cómo manipular cadenas de texto en REXX. Las cadenas son una parte fundamental de la programación, ya que permiten manejar y procesar texto de diversas maneras. Veremos cómo crear, concatenar, extraer y modificar cadenas utilizando las funciones básicas de REXX.
Contenido
Creación de Cadenas
En REXX, las cadenas se pueden crear asignándolas a variables. Las cadenas pueden estar delimitadas por comillas simples o dobles.
/* Ejemplo de creación de cadenas */ cadena1 = 'Hola, Mundo!' cadena2 = "REXX es genial" say cadena1 say cadena2
Explicación:
cadena1
ycadena2
son variables que almacenan cadenas de texto.say
es una instrucción que imprime el valor de la variable en la pantalla.
Concatenación de Cadenas
La concatenación de cadenas en REXX se puede realizar de varias maneras. La forma más común es utilizando el operador ||
.
/* Ejemplo de concatenación de cadenas */ cadena1 = 'Hola' cadena2 = 'Mundo' cadena3 = cadena1 || ', ' || cadena2 || '!' say cadena3
Explicación:
||
es el operador de concatenación que une las cadenascadena1
,,
,cadena2
y!
.
Extracción de Subcadenas
Para extraer subcadenas, REXX proporciona la función SUBSTR
.
/* Ejemplo de extracción de subcadenas */ cadena = 'Hola, Mundo!' subcadena = SUBSTR(cadena, 1, 4) say subcadena
Explicación:
SUBSTR(cadena, 1, 4)
extrae una subcadena decadena
comenzando en la posición 1 y con una longitud de 4 caracteres.
Reemplazo de Subcadenas
El reemplazo de subcadenas se puede realizar utilizando la función OVERLAY
.
/* Ejemplo de reemplazo de subcadenas */ cadena = 'Hola, Mundo!' nueva_cadena = OVERLAY('REXX', cadena, 7, 5) say nueva_cadena
Explicación:
OVERLAY('REXX', cadena, 7, 5)
reemplaza 5 caracteres decadena
comenzando en la posición 7 con la cadenaREXX
.
Funciones de Manipulación de Cadenas
REXX proporciona varias funciones integradas para la manipulación de cadenas. Aquí hay algunas de las más comunes:
Función | Descripción | Ejemplo |
---|---|---|
LENGTH |
Devuelve la longitud de una cadena. | LENGTH('Hola') devuelve 4 |
POS |
Devuelve la posición de una subcadena dentro de una cadena. | POS('Mundo', 'Hola, Mundo!') devuelve 7 |
STRIP |
Elimina espacios en blanco de una cadena. | STRIP(' Hola ') devuelve 'Hola' |
TRANSLATE |
Convierte caracteres de una cadena a mayúsculas o minúsculas. | TRANSLATE('Hola', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') devuelve 'HOLA' |
WORD |
Devuelve una palabra específica de una cadena. | WORD('Hola Mundo', 2) devuelve 'Mundo' |
Ejercicios Prácticos
Ejercicio 1: Concatenación de Cadenas
Escribe un programa que concatene las siguientes cadenas: 'REXX'
, ' es'
, ' un'
, ' lenguaje'
, ' de'
, ' programación'
.
Solución:
cadena1 = 'REXX' cadena2 = ' es' cadena3 = ' un' cadena4 = ' lenguaje' cadena5 = ' de' cadena6 = ' programación' resultado = cadena1 || cadena2 || cadena3 || cadena4 || cadena5 || cadena6 say resultado
Ejercicio 2: Extracción de Subcadenas
Escribe un programa que extraiga la palabra 'Mundo'
de la cadena 'Hola, Mundo!'
.
Solución:
Ejercicio 3: Reemplazo de Subcadenas
Escribe un programa que reemplace la palabra 'Mundo'
con 'REXX'
en la cadena 'Hola, Mundo!'
.
Solución:
Ejercicio 4: Uso de Funciones de Manipulación de Cadenas
Escribe un programa que convierta la cadena 'Hola, Mundo!'
a mayúsculas y luego elimine los espacios en blanco.
Solución:
cadena = 'Hola, Mundo!' cadena_mayusculas = TRANSLATE(cadena, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') cadena_sin_espacios = STRIP(cadena_mayusculas) say cadena_sin_espacios
Conclusión
En esta sección, hemos aprendido cómo manipular cadenas de texto en REXX utilizando diversas técnicas y funciones. La capacidad de manejar cadenas es esencial para cualquier programador, ya que muchas aplicaciones requieren procesamiento de texto. Con estos conocimientos, estarás mejor preparado para trabajar con cadenas en tus programas REXX y podrás abordar problemas más complejos en el futuro.
Curso de Programación REXX
Módulo 1: Introducción a REXX
- ¿Qué es REXX?
- Configuración del Entorno REXX
- Hola Mundo en REXX
- Sintaxis y Estructura Básica
- Variables y Tipos de Datos
Módulo 2: Conceptos Básicos de Programación
- Operadores y Expresiones
- Estructuras de Control: IF/THEN/ELSE
- Bucles: DO y LEAVE
- Entrada y Salida
- Manipulación Básica de Cadenas
Módulo 3: Programación Intermedia en REXX
- Funciones y Subrutinas
- Funciones Integradas
- Manejo de Errores
- Operaciones de Entrada/Salida de Archivos
- Trabajando con Arreglos
Módulo 4: Programación Avanzada en REXX
- Manipulación Avanzada de Cadenas
- Técnicas de Análisis
- Interfaz con Programas Externos
- Macros en REXX
- Optimización del Rendimiento