En aquest tema, explorarem les tècniques de parsing en REXX, que són essencials per a la manipulació i l'anàlisi de cadenes de text. El parsing és el procés de descomposar una cadena de text en components més petits per a la seva anàlisi o processament. Això és especialment útil quan es treballa amb dades estructurades com fitxers de registre, dades d'entrada d'usuari, o qualsevol altra informació textual.
Objectius d'Aprenentatge
Al final d'aquest tema, hauràs après:
- Què és el parsing i per què és important.
- Com utilitzar les funcions de parsing en REXX.
- Com aplicar tècniques de parsing per a diferents tipus de dades.
Conceptes Clau
- Què és el Parsing?
El parsing és el procés de descomposar una cadena de text en components més petits, sovint anomenats "tokens", per a la seva anàlisi o processament. Això és útil per extreure informació específica d'una cadena de text.
- Funcions de Parsing en REXX
REXX proporciona diverses funcions i instruccions per facilitar el parsing de cadenes de text. Les més comunes són:
PARSE
SUBSTR
POS
WORD
WORDS
- Instrucció PARSE
L'instrucció PARSE
és una de les més potents i flexibles per al parsing en REXX. Permet descompondre una cadena de text en múltiples variables basant-se en delimitadors específics.
Sintaxi Bàsica
UPPER
: Converteix la cadena a majúscules abans de fer el parsing.VAR variable
: La cadena a parsejar.template
: El patró o delimitadors utilitzats per descompondre la cadena.
Exemple
/* Exemple de parsing bàsic */ text = "John Doe 1234 Main St" PARSE VAR text firstName lastName address SAY "Nom:" firstName SAY "Cognom:" lastName SAY "Adreça:" address
- Funció SUBSTR
La funció SUBSTR
s'utilitza per extreure una subcadena d'una cadena de text.
Sintaxi
string
: La cadena original.start
: La posició inicial de la subcadena.length
: La longitud de la subcadena.
Exemple
/* Exemple d'ús de SUBSTR */ text = "Hello, World!" subText = SUBSTR(text, 8, 5) SAY subText /* Resultat: World */
- Funció POS
La funció POS
retorna la posició d'una subcadena dins d'una cadena de text.
Sintaxi
needle
: La subcadena a cercar.haystack
: La cadena on cercar.
Exemple
/* Exemple d'ús de POS */ text = "Hello, World!" position = POS("World", text) SAY position /* Resultat: 8 */
- Funció WORD i WORDS
La funció WORD
retorna una paraula específica d'una cadena de text, mentre que WORDS
retorna el nombre total de paraules.
Sintaxi
string
: La cadena de text.n
: El número de la paraula a retornar.
Exemple
/* Exemple d'ús de WORD i WORDS */ text = "John Doe 1234 Main St" firstWord = WORD(text, 1) numWords = WORDS(text) SAY "Primera paraula:" firstWord /* Resultat: John */ SAY "Nombre de paraules:" numWords /* Resultat: 4 */
Exercicis Pràctics
Exercici 1: Parsing de Dades d'Usuari
Escriu un programa que llegeixi una cadena de text amb el format "Nom Cognom Edat" i descompongui la cadena en les seves parts individuals.
Solució
/* Programa per parsejar dades d'usuari */ data = "Alice Smith 30" PARSE VAR data firstName lastName age SAY "Nom:" firstName SAY "Cognom:" lastName SAY "Edat:" age
Exercici 2: Extracció de Subcadena
Escriu un programa que extregui el domini d'una adreça de correu electrònic.
Solució
/* Programa per extreure el domini d'un correu electrònic */ email = "[email protected]" atPos = POS("@", email) domain = SUBSTR(email, atPos + 1) SAY "Domini:" domain /* Resultat: example.com */
Exercici 3: Comptar Paraules
Escriu un programa que compti el nombre de paraules en una frase.
Solució
/* Programa per comptar paraules en una frase */ phrase = "Aquest és un exemple de frase" numWords = WORDS(phrase) SAY "Nombre de paraules:" numWords /* Resultat: 6 */
Errors Comuns i Consells
-
Error Comú: No especificar correctament els delimitadors en l'instrucció
PARSE
.- Consell: Assegura't de comprendre com funcionen els delimitadors i utilitza'ls adequadament en el teu patró de parsing.
-
Error Comú: Utilitzar posicions incorrectes en la funció
SUBSTR
.- Consell: Recorda que les posicions en REXX comencen en 1, no en 0.
Conclusió
En aquest tema, hem après les tècniques de parsing en REXX, incloent l'ús de les instruccions PARSE
, SUBSTR
, POS
, WORD
i WORDS
. Aquestes eines són fonamentals per a la manipulació i l'anàlisi de cadenes de text, i són especialment útils en la programació diària. Practica amb els exercicis proporcionats per consolidar els teus coneixements i prepara't per aplicar aquestes tècniques en projectes més complexos.
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