<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich versuche, die SAS PRX-Funktion zu verwenden, um einen Teilstring aus meinem Datensatz zu extrahieren. Es werden jedoch nur die genauen Übereinstimmungen zurückgegeben. Ich brauche es, um flexibler zu sein und diejenigen zu extrahieren, die einer Vielzahl von Bedingungen entsprechen.
Ich habe meine Daten unten kopiert. Wie Sie sehen, ist eine der Variablen in meinen Daten "brandmodel", die sowohl den Markennamen als auch die Modellnummer einer bestimmten Kamera enthält. Ich brauche eine separate Spalte nur für die Modellnummern. Daher verwende ich die PRX-Funktion, um sie zu extrahieren, da sie normalerweise einem der folgenden Muster folgen:
Beispiel: JX100 oder JX10 oder JX1 (dh 1-2 Alphabete, unmittelbar gefolgt von 1-3 Ziffern. Damit kann mein Programm (unter den Daten kopiert) umgehen. Ich stoße jedoch auf Probleme: Wie extrahiere ich die Modellnummern, bei denen die Alphabete durch ein Leerzeichen oder einen Bindestrich von den Ziffern getrennt sind, und wie extrahiere ich diese in die gleiche Spalte "Modell" wie die mit ihnen zusammen? Einige Beobachtungen haben auch keine Modellnummern. Wie kann ich sie als vermisst betrachten, anstatt ganz fallen zu lassen?
Jede Hilfe, die Sie mit diesem Dilemma leisten können, wäre sehr dankbar. Freu mich schon bald von dir zu hören.
Vielen Dank!
Kelly
Markenmodell | Preis
| iTwist F124 Digitalkamera -red | 49.00 | |
| Vivitar IF045 Digitalkamera -Blau | 72.83 | |
| Liquid Image Unterwasserkameramaske | 128.00 |
| MX-Brille der Impact-Serie für Videokameras ™ | 188.00 |
| Olympus VR 340 | Silber | 148,00 | | |
| Olympus TG820 Digitalkamera Schwarz | 278.00 |
| Olympus VR 340 16MP 10x 3.0 LCD Rot | 148.00 |
| Vivitar VX137-Pur Digitalkamera | 39.00 | |
| |
| Olympus SZ-12 Digitalkamera - Schwarz | 198.00 |
| Olympus VG160 Digitalkamera Rot | 98.00 | |
| Olympus VR340 | Purple | 148.00 | | |
| Olympus TG820 Digitalkamera Silver | 298.00 |
| Olympus TG820 Digitalkamera Blau | 278.00 |
| Olympus VG160 Digitalkamera | Orange | 98,00 | | |
| Olympus TG820 Digitalkamera Rot | 298.00 |
| Fujifilm FinePix AX500 Red | 78.63 | |
| Canon A2300 Silver | 98.63 | | |
| Canon A810 Rot | 75,00 | | |
| Nikon Coolpix S2600 Digitalkamera - Rot | 88.00 |
| Nikon Coolpix L25 Digitalkamera - Silber | 82.00 |
| Casio Exilim ZS10BK | 128.00 | | |
| | |
| Olympus TG-310 14 MP, blaue Digitalkamera | 148.00 |
| Hipstreet Kidz Digitalkamera - Blau | 14.93 | |
| Casio Exilim ZS10PK | 128.00 | | |
| Olympus TG-310 14 MP Digitalkamera | orange | 148.00 |
SAS-Programm
Daten walnov21p2;
Länge brandmodel $ 80 ;
im Ordner "G: \ File2 \ data \ store_nov21 \ storenv21p2.csv" Erstbesuche = 2 dlm = "|" dsd ;
Eingang Markenmodellpreis;
re = prxparse ( '/ [[: alpha:]] {1,3} \ d {1,4} /' );
ob prxmatch (re, brandmodel) dann
tun ;
model = prxposn (re, 0 , Markenmodell);
Ausgabe ;
Ende ;
Lauf ;