En aquest tema, aprendrem com manipular cadenes de text en REXX. La manipulació de cadenes és una habilitat fonamental en la programació, ja que moltes aplicacions requereixen processar i modificar text. Veurem com concatenar cadenes, extreure subcadenes, trobar la longitud d'una cadena, i altres operacions bàsiques.
Continguts
- Concatenació de Cadenes
- Longitud de la Cadena
- Subcadenes
- Cerca de Subcadenes
- Reemplaçament de Subcadenes
- Exercicis Pràctics
- Concatenació de Cadenes
La concatenació de cadenes en REXX es pot fer de diverses maneres. La més senzilla és utilitzar l'operador de concatenació (||
).
Exemple:
/* Concatenació de cadenes */ cadena1 = "Hola" cadena2 = "Món" resultat = cadena1 || " " || cadena2 say resultat /* Sortida: Hola Món */
Explicació:
cadena1
conté "Hola".cadena2
conté "Món".resultat
és la concatenació decadena1
, un espai en blanc, icadena2
.
- Longitud de la Cadena
Per obtenir la longitud d'una cadena, utilitzem la funció LENGTH
.
Exemple:
/* Longitud de la cadena */ cadena = "Hola Món" longitud = LENGTH(cadena) say longitud /* Sortida: 8 */
Explicació:
cadena
conté "Hola Món".LENGTH(cadena)
retorna la longitud de la cadena, que és 8.
- Subcadenes
Per extreure una subcadena, utilitzem la funció SUBSTR
.
Exemple:
/* Extracció de subcadena */ cadena = "Hola Món" subcadena = SUBSTR(cadena, 6, 3) say subcadena /* Sortida: Món */
Explicació:
cadena
conté "Hola Món".SUBSTR(cadena, 6, 3)
extreu 3 caràcters a partir de la posició 6, resultant en "Món".
- Cerca de Subcadenes
Per trobar la posició d'una subcadena dins d'una cadena, utilitzem la funció POS
.
Exemple:
/* Cerca de subcadena */ cadena = "Hola Món" posicio = POS("Món", cadena) say posicio /* Sortida: 6 */
Explicació:
cadena
conté "Hola Món".POS("Món", cadena)
retorna la posició inicial de "Món" dins decadena
, que és 6.
- Reemplaçament de Subcadenes
Per reemplaçar una subcadena dins d'una cadena, utilitzem la funció OVERLAY
.
Exemple:
/* Reemplaçament de subcadena */ cadena = "Hola Món" nova_cadena = OVERLAY("Amic", cadena, 6) say nova_cadena /* Sortida: Hola Amic */
Explicació:
cadena
conté "Hola Món".OVERLAY("Amic", cadena, 6)
reemplaça la subcadena a partir de la posició 6 amb "Amic", resultant en "Hola Amic".
- Exercicis Pràctics
Exercici 1:
Escriu un programa que concateni les cadenes "Bon" i "Dia" amb un espai en blanc entre elles.
Solució:
cadena1 = "Bon" cadena2 = "Dia" resultat = cadena1 || " " || cadena2 say resultat /* Sortida: Bon Dia */
Exercici 2:
Escriu un programa que trobi la longitud de la cadena "Programació REXX".
Solució:
Exercici 3:
Escriu un programa que extregui la subcadena "REXX" de la cadena "Programació REXX".
Solució:
Exercici 4:
Escriu un programa que trobi la posició de la subcadena "REXX" dins de la cadena "Programació REXX".
Solució:
Exercici 5:
Escriu un programa que reemplaçi la subcadena "REXX" per "Python" dins de la cadena "Programació REXX".
Solució:
cadena = "Programació REXX" nova_cadena = OVERLAY("Python", cadena, 13) say nova_cadena /* Sortida: Programació Python */
Conclusió
En aquesta secció, hem après les operacions bàsiques de manipulació de cadenes en REXX, incloent la concatenació, la longitud de cadenes, l'extracció de subcadenes, la cerca de subcadenes i el reemplaçament de subcadenes. Aquestes habilitats són fonamentals per a qualsevol programador i seran útils en molts contextos diferents. En el proper mòdul, explorarem funcions i subrutines en REXX per modularitzar i organitzar millor el nostre codi.
Curs de Programació REXX
Mòdul 1: Introducció a REXX
- Què és REXX?
- Configuració de l'Entorn REXX
- Hola Món en REXX
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
Mòdul 2: Conceptes Bàsics de Programació
- Operadors i Expressions
- Estructures de Control: IF/THEN/ELSE
- Bucles: DO i LEAVE
- Entrada i Sortida
- Manipulació Bàsica de Cadenes
Mòdul 3: Programació Intermèdia en REXX
- Funcions i Subrutines
- Funcions Incorporades
- Gestió d'Errors
- Operacions d'Entrada/Sortida de Fitxers
- Treballant amb Arrays
Mòdul 4: Programació Avançada en REXX
- Manipulació Avançada de Cadenes
- Tècniques de Parsing
- Interfície amb Programes Externs
- Macros REXX
- Optimització del Rendiment