Das Makro `%mf_getquotedstr` nimmt eine Eingabezeichenfolge (`IN_STR`) und wandelt sie in eine neue Zeichenfolge um, wobei jedes Element von Anführungszeichen (einfach, doppelt oder keine) umgeben und durch ein angegebenes Trennzeichen getrennt ist. Die Parameter umfassen:
`IN_STR`: Die nicht zitierte Eingabezeichenfolge, getrennt durch Leerzeichen (Standard).
`DLM`: Das auf die Ausgabestrings anzuwendende Trennzeichen (Komma als Standard).
`QUOTE`: Der Typ der anzuwendenden Anführungszeichen (S für einfach, D für doppelt, N für keine). Jeder andere Wert wird als Anführungszeichen verwendet.
`indlm`: Das in der Eingabezeichenfolge verwendete Trennzeichen (Leerzeichen als Standard).
Der Prozess besteht darin, jedes 'Wort' der Eingabezeichenfolge zu durchlaufen, die angegebenen Anführungszeichen anzuwenden, überflüssige Leerzeichen um jedes Wort zu entfernen (`%qtrim`) und dann die neue Zeichenfolge mit dem Ausgabetrennzeichen zusammenzusetzen. Wenn die Eingabezeichenfolge leer ist, gibt sie zwei leere Anführungszeichen zurück (je nach angegebenem Typ).
Datenanalyse
Type : AUCUNE
Das Makro arbeitet ausschließlich mit Zeichenfolgen, die als Parameter übergeben werden. Es greift weder auf SAS-Datasets zu noch erstellt es diese, noch ist es von externen Daten (Dateien, Tabellen) abhängig.
1 Codeblock
MACRO
Erklärung : Dieser Block definiert das Makro `%mf_getquotedstr`, das eine Eingabezeichenfolge verarbeitet. Es beginnt damit, das zu verwendende Anführungszeichen zu bestimmen, indem 'S' in ein einfaches Anführungszeichen (`byte(39)`) und 'D' in ein doppeltes Anführungszeichen (`byte(34)`) über `%qsysfunc` umgewandelt wird. Es initialisiert eine lokale Variable `i`, um die Eingabezeichenfolge `IN_STR` mit einer `%do %while`-Schleife und der Funktion `%qscan` zu durchlaufen, um jedes Element gemäß dem Eingabetrennzeichen `indlm` zu extrahieren. Jedes Element wird dann in Anführungszeichen gesetzt und mit `%qtrim` von überflüssigen Leerzeichen bereinigt. Das erste Element initialisiert den `buffer`, die folgenden werden mit dem angegebenen `DLM` hinzugefügt. Schließlich wird `%sysfunc(coalescec())` verwendet, um den Fall zu handhaben, dass die Eingabezeichenfolge leer ist, wobei zwei Anführungszeichen zurückgegeben werden. Das Endergebnis ist die Zeichenfolge `&buffer`.
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.