indexOf()

strLib.indexOf() 시스템 함수는 색인을 문자열에 리턴합니다. 색인은 지정된 패턴이 시작되는 위치를 표시합니다.

구문

  strLib.indexOf(
    source STRING | UNICODE | CHAR | DBCHAR | MBCHAR inOut,
    pattern STRING | UNICODE | CHAR | DBCHAR | MBCHAR in
    [, skipCount INT in] )
  returns (result INT)
source
입력은 표시된 유형과 지정 호환 가능한 값입니다.
pattern
EGL이 source에서 검색하는 문자의 순서입니다. 값은 source와 동일한 유형이어야 합니다.
skipCount
pattern을 검색하기 전에 무시할 source의 첫 문자 수입니다. 이 값이 올바르지 않은 경우(0보다 작거나 source의 길이보다 큰 경우) 함수는 IndexOutOfBounds 예외를 처리합니다.
아래 예제 2에 표시된 것처럼 시작 위치 대신 건너뛰기 개수를 전달하면 한 호출의 결과를 다음 호출의 skipCount로 사용하는 것을 반복할 수 있습니다.
result
source에서 pattern의 시작을 나타내는 색인입니다. pattern을 찾을 수 없는 경우 함수가 0을 리턴합니다.

예제 1

다음 예제에서는 소스 문자열에서 세미콜론의 처음 두 발생을 찾습니다.

  source STRING = "STRING; CHAR; DBCHAR; MBCHAR; or UNICODE.";
  pattern STRING = "; "
  
  result = strLib.indexOf(source, pattern);
  // result is 7
  result = strLib.indexOf(source, pattern, 10);
  // result is 13

예제 2

다음 예제에서는 소스 문자열에서 공백의 모든 발생을 찾습니다.

   function indexOfExample()
      text string = "A BC DEF GHIJ" ;
      pIndex int = indexOf(text, " ", 0);
      while(pIndex != 0);
         writeStdOut("Blank index = " + pIndex);
         pIndex = indexOf(text, " ", pIndex);
      end   end
콘솔에 다음 행이 표시됩니다.
Blank index = 2
Blank index = 5
Blank index = 9