`INDEX` 내장 함수 — 문자열 안에서 부분 문자열의 위치

INDEX 내장 함수 — 문자열 안에서 부분 문자열의 위치

INDEX는 어떤 문자열 안에서 특정 부분 문자열이 처음 나타나는 위치를 돌려주는 Fortran 내장 함수예요. 문자열 검색에서 가장 기본적으로 쓰는 함수라 할 수 있어요. BACK 인자를 주면 뒤에서부터 찾는다는 점만 기억하면 돼요.

출처: INDEX intrinsic (The GNU Fortran Compiler)

본문

시놉시스(Synopsis):

RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])

설명(Description): 문자열 STRING 안에서 부분 문자열 SUBSTRING이 처음 나타나는 시작 위치를 1부터 세어 돌려줘요. SUBSTRINGSTRING에 없으면 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)으로 해석될 수 있는 내장 함수 중 하나라, 직접 만든 프로시저와 이름이 겹치지 않게 주의해야 해요.