lastindexof()

lastindexof() 関数は文字列内で特定の文字列が最後に現れる位置のインデックスを返します。

構文

lastindexof(STR, NEEDLE[, FROM_INDEX])

パラメーター

STR
検索対象の文字列です。
NEEDLE
STR 内で検索する文字列です。
FROM_INDEX
逆方向検索を開始する位置のインデックスです。インデックスは 0 から始まります。指定するとその位置からインデックス 0 の方向に向かって逆方向に検索します。負の値を指定すると 0 として処理します。

説明

lastindexof() 関数は STR 内で NEEDLE が最後に現れる位置のインデックス(32 ビット整数)を返します。NEEDLE が見つからない場合は -1 を返します。

FROM_INDEX を指定すると、その位置から逆方向に検索します。NEEDLE の開始インデックスが 0 以上 FROM_INDEX 以下である最後の位置を返します。

STR または NEEDLEnull の場合は null を返します。値が文字列でない場合は toString() で変換して処理します。

エラーコード

該当なし

使用例

これらの使用例で参照する WEB_APACHE_SAMPLE テーブルを準備するには、クエリ実習用データを参照してください。

  1. URI 内で最後の / の位置を検索

    table limit=5 WEB_APACHE_SAMPLE | eval result = lastindexof(uri, "/") | fields uri, result
    | # result: 最後のスラッシュのインデックス
    
  2. URI 内で最後の / 以降のファイル名を抽出

    table limit=5 WEB_APACHE_SAMPLE
    | eval pos = lastindexof(uri, "/")
    | eval filename = substr(uri, pos + 1)
    | fields uri, filename
    
  3. 含まれていない文字列の検索

    table limit=5 WEB_APACHE_SAMPLE | eval result = lastindexof(method, "?") | fields method, result
    | # result: -1
    
  4. 検索開始位置の指定(FROM_INDEX)

    table limit=5 WEB_APACHE_SAMPLE | eval result = lastindexof(uri, "/", 5) | fields uri, result
    
  5. null 入力

    json "{'val': null}" | eval result = lastindexof(val, "/")
    | # result: null
    

互換性

lastindexof() 関数はバージョン 4.0.2312.0 以降で利用可能です。