포스팅 목차
67. CALL SCANQ
Quotation Mark에 의해 구분된 구분자는 무시하고, 문자에서 주어진 단어의 위치와 length 반환한다.
(구분자의 기본은 blank . <( + &! $ * ) ; ^ - / , % | 이다.)
Category: | 문자열 비교 함수(문자열 매칭, Character String Matching) |
MAIN |
문 법
CALL SCANQ (string, n, position, length <,delimiters>); |
Arguments
- string
- 는 문자상수, 변수 표현을 지정.
참 고
n이 양수이면 왼쪽에서 오른쪽으로, 음수이면 오른쪽에서 왼쪽으로 검색한다
관련 함수
함수명 | 함수내용 |
CALL SCAN | 문자열에서 주어진 단어의 위치와 length 반환한다. |
CALL SCANQ | Quotation Mark에 의해 구분된 구분자는 무시하고, 문자에서 주어진 단어의 위치와 length 반환한다. |
COUNTW | 문자열에서 지정한 단어의 갯수를 카운트한다. |
FIND | 지정한 문자열 안에 지정 문자 위치를 반환한다. |
FINDC | 지정한 문자열 안에 지정 문자의 존재성에 대한 결과 반환한다. |
FINDW | 문자열에서 지정한 단어의 문자 위치를 반환하거나 문자열에 존재하는 단어의 갯수를 반환한다. |
INDEX | 문자열에서 해당 문자열 단위로 위치를 검색하여 첫 번째 위치를 반환한다. |
INDEXC | 문자열에서 해당 문자 단위로 위치를 검색하여 첫 번째 위치를 반환한다. |
INDEXW | 문자열에서 해당단어 단위로 위치 검색하여서 첫 번째 단어 위치를 반환한다. excerpt는 단어 앞뒤의 공백은 제거후 검색한다. |
SCAN | 문자열에서 지정한 n번째 단어를 추출한다. |
SCANQ | quotation marks로 둘러쌓인 경우 구분자를 무시하고, 문자열로부터 n번째 단어를 추출한다. |
VERIFY |
지정한 문자열과 대상 문자열을 비교하여 지정한 문자열이 존재하지 않는 문자의 첫 번째 위치를 반환한다. |
예 제
예 제 1 :
string변수에서 단어의 위치와 length를 반환 받은후에, substrn 함수를 이용하여서 각 단어를 자른다.
SAS Statements |
data artists2;
input string $60.;
do i=1 to 99;
call scanq(string, i, position, length);
if not position then leave;
Name=substrn(string, position, length);
output;
end;
datalines;
Picasso Toulouse-Lautrec Turner "Van Gogh" Velazquez
;
Results |
OBS i position length Name
1 1 1 7 Picasso
2 2 9 16 Toulouse-Lautrec
3 3 26 6 Turner
4 4 33 10 "Van Gogh"
5 5 44 9 Velazquez
SAS 함수(SAS Function) 리스트 링크 |
엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크 |
SAS 데이터 스텝 구문 리스트(SAS Data Step Statement) |
반응형
'SAS > SAS 함수' 카테고리의 다른 글
[SAS 함수] 69. CALL SLEEP 함수 (0) | 2018.11.24 |
---|---|
【SAS 함수】 68. CALL SET (0) | 2018.11.24 |
【SAS 함수】 66. CALL SCAN 함수 (0) | 2018.11.24 |
【SAS 함수】 65. CALL RXSUBSTR (0) | 2018.11.24 |
[SAS 함수] 64. CALL RXFREE (0) | 2018.11.24 |
댓글