lastindexof()

문자열에서 특정한 문자열이 나타나는 마지막 위치의 인덱스 값을 반환합니다. 검색할 문자열을 찾을 수 없으면 -1을, 검색 대상 문자열이나 문자열에서 검색할 문자열이 null이면 null을 반환합니다.

문법

lastindexof(STR_EXPR, SEARCH_EXPR, [FROM_EXPR])
필수 매개변수
STR_EXPR
원본 문자열 표현식
SEARCH_EXPR
검색할 문자열
선택 매개변수
FROM_EXPR

STR_EXPR에서 SEARCH_EXPR 검색의 시작점으로 사용할 인덱스. FROM_EXPR에서 역방향으로(인덱스가 0인 방향) SEARCH_EXPR과 일치하는 문자열을 검색합니다.

SEARCH_EXPR 문자열이 반드시 FROM_EXPR부터 인덱스 0 사이에 모두 포함되어 있어야 하는 것은 아닙니다. SEARCH_EXPR 문자열의 첫 인덱스가 인덱스 0과 FROM_EXPR 사이에 포함되어 있으면 검색됩니다. 사용 예 5에서 FROM_EXPR30("L"에 해당)이고, SEARCH_EXPR 문자열 "Lo"의 인덱스 범위는 30 ~ 31이지만 "Lo"가 검색되어 인덱스 30을 반환하고 있습니다.

사용 예

  1. 단일 문자의 마지막 인덱스 찾기

    json "{}"
    | eval STR_EXPR="Life is short. Use Logpresso."
    | eval LAST_INDEX=lastindexof(STR_EXPR, " ")
    | # 결괏값: LAST_INDEX = 18
    
  2. 문자열의 마지막 위치 인덱스 찾기

    json "{}"
    | eval STR_EXPR="Life is short. Use Logpresso."
    | eval LAST_INDEX=lastindexof(STR_EXPR, "Logpresso")
    | # 결괏값: LAST_INDEX = 19
    
  3. 존재하지 않는 문자열의 검색을 시도한 예

    json "{}"
    | eval STR_EXPR="Life is short. Use Logpresso."
    | eval LAST_INDEX=lastindexof(STR_EXPR, "Python")
    | # 결괏값 LAST_INDEX = -1
    
  4. 검색을 시작할 인덱스를 찾은 후 마지막 인덱스 찾기(FROM_INDEX 값을 수정하면서 실행해보세요)

    # 문자열:    Life is short. Use Logpresso. Long live Logpresso!
      인덱스:    01234567891123456789212345678931234567894123456789
      검색범위:  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (0-30)
    | json "{}"
    | eval STR_EXPR="Life is short. Use Logpresso. Long Live Logpresso!"
    | eval SEARCH_EXPR="Lo"
    | eval FROM_INDEX=30
    | eval LAST_INDEX=lastindexof(STR_EXPR, SEARCH_EXPR, FROM_INDEX)
    | # 결괏값 LAST_INDEX = 30
    
  5. indexof() 함수와 비교

    json "{}"
    | eval STR_EXPR = "Life is short. Use Logpresso."
    | eval FIRST_INDEX = indexof(STR_EXPR, " ")
    | eval LAST_INDEX = lastindexof(STR_EXPR, " ")
    | # 결괏값: FIRST_INDEX =  4,
                LAST_INDEX  = 18
    

호환성

lastindexof() 함수는 버전 4.0.2312.0부터 사용 가능합니다.