contains

DataWeave 2.2 is compatible and bundled with Mule 4.2. Standard Support for Mule 4.2 ended on May 2, 2021, and this version of Mule will reach its End of Life on May 2, 2023, when Extended Support ends.

Deployments of new applications to CloudHub that use this version of Mule are no longer allowed. Only in-place updates to applications are permitted.

MuleSoft recommends that you upgrade to the latest version of Mule 4 that is in Standard Support so that your applications run with the latest fixes and security enhancements.

contains(Array<T>, Any): Boolean

Returns true if an input contains a given value, false if not.

This version of contains accepts an array as input. Other versions accept a string and can use another string or regular expression to determine whether there is a match.

Parameters

Name Description

items

The input array.

elements

Element to find in the array. Can be any supported data type.

Example

This example finds that 2 is in the input array, so it returns true.

Source

%dw 2.0
output application/json
---
[ 1, 2, 3, 4 ] contains(2)

Output

true

Example

This example indicates whether the input array contains '"3"'.

Source

%dw 2.0
output application/json
---
ContainsRequestedItem: payload.root.*order.*items contains "3"

Input

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <order>
      <items>155</items>
    </order>
    <order>
      <items>30</items>
    </order>
    <order>
      <items>15</items>
    </order>
    <order>
      <items>5</items>
    </order>
    <order>
      <items>4</items>
      <items>7</items>
    </order>
    <order>
      <items>1</items>
      <items>3</items>
    </order>
    <order>
        null
    </order>
</root>

Output

{ "ContainsRequestedItem": true }

contains(String, String): Boolean

Indicates whether a string contains a given substring. Returns true or false.

Parameters

Name Description

text

An input string (a String).

toSearch

The substring (a String) to find in the input string.

Example

This example finds "mule" in the input string "mulesoft", so it returns true.

Source

%dw 2.0
output application/json
---
"mulesoft" contains("mule")

Output

true

Example

This example finds that the substring "me" is in "some string", so it returns true.

Source

%dw 2.0
output application/json
---
{ ContainsString : payload.root.mystring contains("me") }

Input

<?xml version="1.0" encoding="UTF-8"?>
<root><mystring>some string</mystring></root>

Output

{ "ContainsString": true }

contains(String, Regex): Boolean

Returns true if a string contains a match to a regular expression, false if not.

Parameters

Name Description

text

An input string.

matcher

A Java regular expression for matching characters in the input text.

Example

This example checks for any of the letters e through g in the input mulesoft, so it returns true.

Source

%dw 2.0
output application/json
---
contains("mulesoft", /[e-g]/)

Output

true

Example

This example finds a match to /s[t|p]rin/ within "A very long string", so it returns true. The [t|p] in the regex means t or p.

Source

%dw 2.0
output application/json
---
ContainsString: payload.root.mystring contains /s[t|p]rin/

Input

<?xml version="1.0" encoding="UTF-8"?>
<root><mystring>A very long string</mystring></root>

Output

{ "ContainsString": true }

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub