Veröffentlicht am :
Makro CREATION_INTERNE

Makro AHGscanReplace - Ersetzung eines Zeichenkettensegments

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro durchläuft eine Eingabezeichenkette, die durch ein Trennzeichen (Standard: Leerzeichen) segmentiert ist. Es rekonstruiert die Zeichenkette, indem es das Element am Index 'n' durch den im Parameter 'to' angegebenen Wert ersetzt. Der Code hängt von einem externen Makro namens '%AHGcount' ab (vermutlich zum Zählen der Wörter), das in diesem Snippet nicht enthalten ist.
Datenanalyse

Type : CREATION_INTERNE


Die Verarbeitung ist rein logisch auf Zeichenketten, die als Parameter an das Makro übergeben werden. Es werden keine externen Datentabellen gelesen.

1 Codeblock
MACRO
Erklärung :
Definition des Makros. Es initialisiert eine Schleife basierend auf der Anzahl der Wörter (berechnet durch %AHGcount), erstellt eine neue Zeichenkette 'outstr', indem es das Wort am Index 'n' ersetzt, und gibt das Endergebnis ohne das anfängliche Trennzeichen zurück.
Kopiert!
1%macro AHGscanReplace(str,n,to,dlm=%str( ));
2 %local i outstr;
3 %DO i=1 %to %AHGcount(&str,dlm=&dlm);
4 %IF &i ne &n %THEN %let outstr=&outstr&dlm%scan(&str,&i,&dlm);
5 %ELSE %let outstr=&outstr&dlm&to;
6 %END;
7 %substr(&outstr,2)
8%mend;
9/*%put %ahgscanReplace(ok @ ok @ ok, 2,no,dlm= @);*/
10/*%put %ahgscanReplace(ok ok ok, 1,no );*/
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.