Veröffentlicht am :
Makro CREATION_INTERNE

SAS-Makro zum Entfernen von Kommas

Dieser Code ist auch verfügbar auf: English Español Français
Dieses SAS©-Makro, genannt `nocommas`, wurde entwickelt, um alle Kommas in einer bereitgestellten Eingabezeichenkette durch Leerzeichen zu ersetzen. Es verwendet die Funktion `translate` für den Austausch und `qsubstr` zur Handhabung der Aufrufsyntax des Positionsparameters. Ziel ist es, eine Zeichenkette vor der Verwendung durch ein anderes Makro oder eine Funktion zu bereinigen, ohne zusätzliche 'Bereinigungen' (wie das Entfernen mehrerer Leerzeichen oder das Komprimieren aufeinanderfolgender Leerzeichen) durchzuführen. Es muss mit einem einzelnen Positionsparameter verwendet werden.
Datenanalyse

Type : CREATION_INTERNE


Das Makro operiert auf einer Zeichenkette, die beim Aufruf als Positionsparameter bereitgestellt wird. Keine externen oder internen Daten (SASHELP) werden vom Makro selbst gelesen. Die Daten werden direkt aus den Aufrufargumenten des Makros verarbeitet.

1 Codeblock
MACRO nocommas
Erklärung :
Dieser Block definiert das Makro `%nocommas`. Die Option `PARMBUFF` ermöglicht dem Makro den Zugriff auf die vollständige als Parameter übergebene Zeichenkette, einschließlich der Klammern. Die Funktion `%SYSFUNC(TRANSLATE(&SYSPBUFF, %STR( ), %STR(,)))` wird verwendet, um alle Vorkommen des Kommas (`,`) durch ein Leerzeichen (` `) in der Zeichenkette `&SYSPBUFF` zu ersetzen. Anschließend extrahiert `%QSUBSTR(..., 2, %LENGTH(&SYSPBUFF)-2)` einen Teilstring aus dem Ergebnis, indem es das erste und letzte Zeichen (entspricht typischerweise dem `%` des Makroaufrufs und dem abschließenden `;`, oder den Klammern, die den Parameter umschließen) entfernt, um nur die verarbeitete Zeichenkette zu erhalten.
Kopiert!
1%put MACRO CALLED: nocommas v1.0;
2 
3%macro nocommas/parmbuff;
4%qsubstr(%sysfunc(translate(&syspbuff,%str( ),%str(,))),2,%LENGTH(&syspbuff)-2)
5%mend nocommas;
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.
Urheberrechtsinformationen : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.