find

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

指定された elementToFind (検索対象要素) と一致する、入力配列 (リスト) 内のインデックスを返します。

パラメータ

Name (名前) 説明

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 関数を使用します。

パラメータ

Name (名前) 説明

text

文字列 (String (文字列) 型)。

matcher

text (テキスト) 内の文字を照合するための正規表現。

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

ソース

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

出力

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

find(String, String): Array<Number>

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

パラメータ

Name (名前) 説明

text

ソース文字列。

textToFind

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

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

ソース

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

出力

[0,1]

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub