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 y cadena2 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 cadenas cadena1, , , 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 de cadena 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 de cadena comenzando en la posición 7 con la cadena REXX.

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:

cadena = 'Hola, Mundo!'
subcadena = SUBSTR(cadena, 7, 5)
say subcadena

Ejercicio 3: Reemplazo de Subcadenas

Escribe un programa que reemplace la palabra 'Mundo' con 'REXX' en la cadena 'Hola, Mundo!'.

Solución:

cadena = 'Hola, Mundo!'
nueva_cadena = OVERLAY('REXX', cadena, 7, 5)
say nueva_cadena

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.

© Copyright 2024. Todos los derechos reservados