So verwenden sie die prxmatch-funktion in sas (mit beispielen)
Sie können die PRXMATCH- Funktion in SAS verwenden, um nach einem bestimmten Muster in einer Zeichenfolge zu suchen und die Position zurückzugeben, an der das Muster gefunden wird.
Diese Funktion verwendet die folgende grundlegende Syntax:
PRXMATCH(regulärer Ausdruck, Quelle)
Gold:
- Regulärer Ausdruck : Regulärer Ausdruck, der das zu suchende Muster angibt
- Quelle : Name der Variable, nach der gesucht werden soll
Die folgenden Beispiele zeigen drei gängige Möglichkeiten, diese Funktion in der Praxis mit dem folgenden Datensatz in SAS zu verwenden:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Mavs 22
mavs 14
Warriors 23
Mavs 19
warriors 34
MAVS 40
WARRIORS 39
;
run ;
/*view dataset*/
proc print data =my_data;
Beispiel 1: Verwenden Sie PRXMATCH, um die Position eines Musters in einer Zeichenfolge zu ermitteln
Der folgende Code zeigt, wie Sie mit der PRXMATCH- Funktion eine neue Spalte mit dem Namen „position“ erstellen, die die Position enthält, an der die Zeichenfolge „avs“ in der Teamspalte erscheint:
/*create new dataset*/
data new_data;
set my_data;
position = prxmatch ("/avs/", team);
run ;
/*view new dataset*/
proc print data = new_data;
Aus dem Ergebnis können wir sehen:
- Die erste Zeile enthält das Muster „avs“ in der Teamspalte beginnend an Position 2 der Zeichenfolge.
- Die zweite Zeile enthält das Muster „avs“ in der Teamspalte, Startposition 2 im String.
- Die dritte Zeile enthält nicht das „avs“-Muster in der Teamspalte, daher wird ein Wert von 0 zurückgegeben.
Und so weiter.
Beispiel 2: Verwenden Sie PRXMATCH, um zu prüfen, ob die Zeichenfolge ein Muster enthält
Der folgende Code zeigt, wie Sie mit der PRXMATCH- Funktion eine neue Spalte namens mavs_flag erstellen, die den Wert 1 enthält, wenn die Teamspaltenzeichenfolge irgendwo in der Zeichenfolge „avs“ enthält, und einen Wert von 0 , wenn dies nicht der Fall ist:
/*create new dataset*/
data new_data;
set my_data;
if prxmatch("/Mavs/i", team) > 0 then mavs_flag = 1 ;
else mavs_flag = 0 ;
run ;
/*view new dataset*/
proc print data = new_data;
Beachten Sie, dass das i am Ende des regulären Ausdrucks angibt, dass SAS eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchführen soll.
Vergessen Sie einfach das i , wenn Sie stattdessen eine Suche unter Berücksichtigung der Groß- und Kleinschreibung durchführen möchten.
Beispiel 3: Verwenden Sie PRXMATCH, um den Datensatz nach Zeilen zu filtern, die ein Muster enthalten
Der folgende Code zeigt, wie Sie mit der PRXMATCH- Funktion einen neuen Datensatz erstellen, der nur die Zeilen in „ my_data “ enthält, die in der Teamspalte die Zeichenfolge „Mavs“ (ohne Berücksichtigung der Groß- und Kleinschreibung) enthalten:
/*create dataset*/
data original_doriginal_data;
Beachten Sie, dass jede der Zeilen im neuen Datensatz „Mavs“ in der Teamspalte enthält.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So extrahieren Sie Zahlen aus einer Zeichenfolge in SAS
So entfernen Sie Kommas aus einer Zeichenfolge in SAS
So teilen Sie Zeichenfolgen in SAS nach Trennzeichen auf