<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'essaie d'utiliser la fonction SAS PRX pour extraire une sous-chaîne de mon jeu de données. Mais il ne renvoie que les correspondances exactes, alors que j’en ai besoin pour être plus flexible et extraire celles qui correspondent à diverses conditions.
J'ai copié mes données ci-dessous. Comme vous pouvez le constater, l'une des variables de mes données est "brandmodel", qui contient à la fois le nom de la marque et le numéro de modèle d'un appareil photo particulier. J'ai besoin d'une colonne distincte uniquement pour les modèles. J'utilise donc la fonction PRX pour les extraire, car ils suivent généralement l'un des modèles suivants:
Par exemple: JX100 ou JX10 ou JX1 (c'est-à-dire 1-2 alphabets, suivis immédiatement de 1-3 chiffres). Ce que mon programme (copié sous les données) peut gérer. Mais là où je rencontre des problèmes, c’est: comment extraire ces numéros de modèle où les alphabets sont séparés des chiffres par un espace ou un trait d’union, et comment puis-je les extraire dans la même colonne "Modèle" que ceux qui les contiennent? De plus, certaines observations n’ont pas de modèle, comment puis-je les faire disparaître au lieu de les supprimer complètement?
Toute aide que vous pouvez fournir avec ce dilemme serait très appréciée. J'attends de tes nouvelles très vite.
Je vous remercie!
Kelly
Brandmodel | Prix
| Appareil photo numérique iTwist F124 - Rouge | 49.00 | |
| Appareil photo numérique Vivitar IF045 - Bleu | 72.83 | |
| Masque de caméra sous-marine Liquid Image | 128,00 |
| Lunette MX pour caméra vidéo Impact | 188.00 |
| Olympus VR 340 | Argent | 148,00 | | |
| Appareil photo numérique Olympus TG820, Noir | 278,00 |
| Olympus VR 340 16MP 10x 3.0 LCD Rouge | 148,00 |
| Appareil photo numérique Vivitar VX137-Pur | 39,00 | |
| |
| Appareil photo numérique Olympus SZ-12 - Noir | 198,00 |
| Olympus Appareil photo numérique VG160 Rouge | 98,00 | |
| Olympus VR340 | Violet | 148.00 | | |
| Appareil photo numérique Olympus TG820 Argent | 298,00 |
| Appareil photo numérique Olympus TG820 Bleu | 278,00 |
| Olympus VG160 Appareil photo numérique | Orange | 98,00 | | |
| Olympus Appareil photo numérique TG820, Rouge | 298,00 |
| Fujifilm FinePix AX500 Rouge | 78.63 | |
| Canon A2300 Silver | 98.63 | | |
| Canon A810 Rouge | 75,00 | | |
| Appareil photo numérique Nikon Coolpix S2600 - Rouge | 88,00 |
| Appareil photo numérique Nikon Coolpix L25 - Argent | 82.00 |
| Casio Exilim ZS10BK | 128,00 | | |
| | |
| Appareil photo numérique Olympus TG-310 14 MP bleu | 148,00 |
| Appareil photo numérique Hipstreet Kidz - Bleu | 14.93 | |
| Casio Exilim ZS10PK | 128,00 | | |
| Olympus TG-310 14 MP Caméra Numérique | orange | 148.00 |
Programme SAS
Les données walnov21p2;
longueur marque modèle $ 80 ;
dans le fichier "G: \ File2 \ data \ store_nov21 \ storenv21p2.csv" firstobs = 2 dlm = "|" dsd ;
contribution prix du modèle de marque;
re = prxparse ( '/ [[: alpha:]] {1,3} \ d {1,4} /' )
si prxmatch (re, brandmodel) puis
faire ;
model = prxposn (re, 0 , Modèle de marque);
sortie ;
fin ;
courir ;