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

  1. 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.

  1. 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

  1. 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

PARSE [UPPER] [VAR] variable [template]
  • 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

  1. Funció SUBSTR

La funció SUBSTR s'utilitza per extreure una subcadena d'una cadena de text.

Sintaxi

result = SUBSTR(string, start, length)
  • 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 */

  1. Funció POS

La funció POS retorna la posició d'una subcadena dins d'una cadena de text.

Sintaxi

position = POS(needle, haystack)
  • 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 */

  1. 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

word = WORD(string, n)
numWords = WORDS(string)
  • 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.

© Copyright 2024. Tots els drets reservats