<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
SAS PRX 함수를 사용하여 데이터 집합에서 하위 문자열을 추출하려고합니다. 그러나 정확한 일치를 반환하는 반면, 나는 더 유연하고 다양한 조건과 일치하는 것을 추출해야합니다.
아래에 데이터를 복사했습니다. 보시다시피 내 데이터의 변수 중 하나는 브랜드 이름과 특정 카메라의 모델 번호가 모두 포함 된 "브랜드 모델"입니다. 모델 #에 대해서만 별도의 열이 있어야합니다. 그래서 나는 PRX 함수를 사용하여 다음 패턴 중 하나를 따르기 때문에 추출합니다.
예 : JX100 또는 JX10 또는 JX1 (예 : 1-2 자의 영문자, 곧 1-3 자리. 이 내 프로그램 (데이터 아래에 복사)을 처리 할 수 있습니다. 하지만 문제가 생기는 부분은 알파벳이 공백이나 하이픈에 의해 숫자에서 분리되는 모델을 추출하는 방법과 그것들을 모두 같은 모델 "모델"로 추출하는 방법입니다. 또한 관측치 중 일부는 모델 #을 가지고 있지 않습니다. 어떻게 떨어 뜨리는 대신 누락 된 채로 설정할 수 있습니까?
이 딜레마와 함께 제공 할 수있는 도움은 매우 감사하겠습니다. 조만간 당신의 의견을 기다리십시오.
고맙습니다!
켈리
브랜드 모델 | 가격
| iTwist F124 디지털 카메라 -red | 49.00 | |
| Vivitar IF045 디지털 카메라 - 블루 | 72.83 | |
| 액체 이미지 수중 카메라 마스크 | 128.00 |
| 임팩트 시리즈 비디오 카메라 MX Gogglesâ "¢ | 188.00 |
| 올림푸스 VR 340 | 실버 | 148.00 | | |
| 올림푸스 TG820 디지털 카메라 블랙 | 278.00 |
| 올림푸스 VR 340 16MP 10x 3.0 LCD 레드 | 148.00 |
| Vivitar VX137-Pur 디지털 카메라 | 39.00 | |
| |
| 올림푸스 SZ-12 디지털 카메라 - 블랙 | 198.00 |
| Olympus VG160 디지털 카메라 빨강 | 98.00 | |
| 올림푸스 VR340 | 자주색 | 148.00 | | |
| 올림푸스 TG820 디지털 카메라 실버 | 298.00 |
| 올림푸스 TG820 디지털 카메라 블루 | 278.00 |
| 올림푸스 VG160 디지털 카메라 | 주황색 | 98.00 | | |
| 올림푸스 TG820 디지털 카메라 레드 | 298.00 |
| Fujifilm FinePix AX500 레드 | 78.63 | |
| 캐논 A2300 실버 | 98.63 | | |
| 캐논 A810 레드 | 75.00 | | |
| Nikon Coolpix S2600 디지털 카메라 - 빨강 | 88.00 |
| 니콘 Coolpix L25 디지털 카메라 - 실버 | 82.00 |
| 카시오 Exilim ZS10BK | 128.00 | | |
| | |
| 올림푸스 TG-310 14MP 청색 디지털 카메라 | 148.00 |
| Hipstreet Kidz 디지털 카메라 - 블루 | 14.93 | |
| 카시오 Exilim ZS10PK | 128.00 | | |
| 올림푸스 TG-310 14MP 디지털 카메라 | 오렌지 | 148.00 |
SAS 프로그램
데이터 walnov21p2;
길이 브랜드 모델 $ 80 ;
딱딱한 "G : \ File2 \ data \ store_nov21 \ storenv21p2.csv" firstobs = 2 dlm = "|" DSD ;
입력 브랜드 모델;
다시 = prxparse ( '/ [[: alpha :]] {1,3} \ d {1,4} /' );
만약 prxmatch (re, brandmodel) 그때
해야 할 것 ;
모델 = prxposn (다시, 0 , 브랜드 모델);
산출 ;
종료 ;
운영 ;