find

find(Array<T>, Any): Array<Number>

指定された値と一致する、入力のインデックスを返します。

このバージョンの関数は、配列のインデックスを返します。その他のバージョンは、文字列のインデックスを返します。

パラメーター

名前 説明

elements

任意のデータ型の要素を含む配列。

elementToFind

入力配列内で検索する値。

次の例では、文字列配列内の要素のインデックスを検索します。

ソース

%dw 2.0
output application/json
---
["Bond", "James", "Bond"] find "Bond"

出力

[0,2]

find(String, Regex): Array<Array<Number>>

指定された正規表現 (regex) および後続のキャプチャグループと一致する、テキスト内のインデックスを返します。

結果のサブ文字列内の最初の要素は、regex と一致したテキスト内のインデックス、次の要素は、regex 内のキャプチャグループです (存在する場合)。

注意: テキストのうち、regex と一致する部分を取得するには、​scan​ 関数を使用します。

パラメーター

名前 説明

text

文字列。

matcher

text​ 内の文字を照合する Java 正規表現。

次の例では、​ea​ が含まれる語の開始インデックスと終了インデックスを検索します。

ソース

%dw 2.0
output application/json
---
"I heart DataWeave" find /\w*ea\w*(\b)/

出力

[ [2,7], [8,17] ]

find(String, String): Array<Number>

文字列の指定された文字が存在する位置のインデックスをリストします。

パラメーター

名前 説明

text

ソース文字列。

textToFind

ソース文字列で検索する文字列。

次の例では、「aabccdbce」内にある「a」のインデックスをリストします。

ソース

%dw 2.0
output application/json
---
"aabccdbce" find "a"

出力

[0,1]