%dw 2.0
output application/json
---
["Bond", "James", "Bond"] find "Bond"
DataWeave
find
find<T>(@StreamCapable() elements: Array<T>, elementToFind: Any): Array<Number>
Returns indices of an input that match a specified value.
This version of the function returns indices of an array. Others return indices of a string.
Parameters
Name | Description |
---|---|
|
An array with elements of any type. |
|
Value to find in the input array. |
Example
This example finds the index of an element in a string array.
Source
Output
[0,2]
JSON
find(@StreamCapable() text: String, matcher: Regex): Array<Array<Number>>
Returns the indices in the text that match the specified regular expression (regex), followed by the capture groups.
The first element in each resulting sub-array is the index in the text that matches the regex, and the next ones are the capture groups in the regex (if present).
Note: To retrieve parts of the text that match a regex. use the scan
function.
Parameters
Name | Description |
---|---|
|
A string. |
|
A Java regular expression for matching characters in the |
Example
This example finds the beginning and ending indices of words that contain ea
Source
%dw 2.0
output application/json
---
"I heart DataWeave" find /\w*ea\w*(\b)/
DataWeave
Output
[ [2,7], [8,17] ]
JSON
find(@StreamCapable() text: String, textToFind: String): Array<Number>
Lists indices where the specified characters of a string are present.
Parameters
Name | Description |
---|---|
|
A source string. |
|
The string to find in the source string. |
Example
This example lists the indices of "a" found in "aabccdbce".
Source
%dw 2.0
output application/json
---
"aabccdbce" find "a"
DataWeave
Output
[0,1]
JSON
find(@StreamCapable() text: Null, textToFind: Any): Array<Nothing>
Helper function that enables find
to work with a null
value.