`INDEX` 내장 함수 — 문자열 안에서 부분 문자열의 위치
INDEX 내장 함수 — 문자열 안에서 부분 문자열의 위치
INDEX는 어떤 문자열 안에서 특정 부분 문자열이 처음 나타나는 위치를 돌려주는 Fortran 내장 함수예요. 문자열 검색에서 가장 기본적으로 쓰는 함수라 할 수 있어요. BACK 인자를 주면 뒤에서부터 찾는다는 점만 기억하면 돼요.
본문
시놉시스(Synopsis):
RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])
설명(Description): 문자열 STRING 안에서 부분 문자열 SUBSTRING이 처음 나타나는 시작 위치를 1부터 세어 돌려줘요. SUBSTRING이 STRING에 없으면 0을 반환해요.
표준 준수 및 인자 요약:
| 함수 | 인자 | 반환 타입 | 표준 |
|---|---|---|---|
INDEX(STRING,SUBSTRING) |
CHARACTER |
INTEGER(4) |
Fortran 77 이후 |
STRING— 검색 대상이 되는 문자(CHARACTER) 타입의 표현식SUBSTRING— 찾고자 하는 부분 문자열BACK(선택) — 논리(logical) 값으로,.TRUE.면 마지막(뒤에서부터) 발생 위치를 찾아요KIND(선택) — 반환 정수의 kind를 지정해요
INDEX는 Fortran 77부터 제공된 오래된 내장 함수이며, 대소문자를 구분해요. 예를 들어 INDEX("Hello World", "World")는 7을 돌려주고, BACK=.TRUE.로 찾으면 같은 문자열에서 마지막 발생을 찾아요.
더 알아보기
- 뒤에서부터 찾고 싶다면
BACK인자를.TRUE.로 주세요. - 반환 정수의 종류를 바꾸고 싶다면
KIND인자를 사용할 수 있어요. - 문자열 안의 문자 하나 하나를 검사하는 대신
INDEX를 쓰면 훨씬 간결하고 명확하게 코드를 작성할 수 있어요. - 찾는 대상이 단일 문자라면
SCAN이나VERIFY같은 다른 위치 탐색 함수가 더 맞을 수 있어요. 목적에 따라 함수를 골라 쓰면 돼요. INDEX는 사용 위치(문맥)에 따라 함수 또는 문(statement)으로 해석될 수 있는 내장 함수 중 하나라, 직접 만든 프로시저와 이름이 겹치지 않게 주의해야 해요.