contains

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

contains(Array<T>, Any): Boolean

入力に特定の値が含まれる場合は ​true​、それ以外の場合は ​false​ を返します。

このバージョンの ​contains​ は、入力として配列を受け入れます。その他のバージョンは文字列を受け入れ、別の文字列または正規表現を使用して一致があるかどうかを判別できます。

パラメーター

名前 説明

items

入力配列。

elements

配列内で検索する要素。サポートされている任意のデータ型にできます。

次の例では、入力配列内の ​2​ を検索し、​true​ を返します。

ソース

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

出力

true

次の例では、入力配列に「3」が含まれるかどうかを示します。

ソース

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

入力

<?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>

出力

{ "ContainsRequestedItem": true }

contains(String, String): Boolean

文字列に特定のサブ文字列が含まれるかどうかを示します。​true​ または ​false​ を返します。

パラメーター

名前 説明

text

入力文字列 (​String​ (文字列))。

toSearch

入力文字列内で検索するサブ文字列 (​String​ (文字列))。

次の例では、入力文字列「mulesoft」内の「mule」を検索し、​true​ を返します。

ソース

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

出力

true

次の例では、​"some string"​ 内のサブ文字列 ​"me"​ を検索し、​true​ を返します。

ソース

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

入力

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

出力

{ "ContainsString": true }

contains(String, Regex): Boolean

文字列に正規表現との一致が含まれる場合は ​true​、 それ以外の場合は ​false​ を返します。

パラメーター

名前 説明

text

入力文字列。

matcher

入力 ​text​ (テキスト) 内の文字を照合する Java 正規表現。

次の例では、入力の ​mulesoft​ 内に ​e​ から ​g​ までの任意の文字があるかどうかを確認し、​true​ を返します。

ソース

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

出力

true

次の例では、​"A very long string"​ 内の ​/s[t|p]rin/​ との一致を検索し、 ​true​ を返します。正規表現内の ​[t|p]​ は ​t​ または ​p​ を意味します。

ソース

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

入力

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

出力

{ "ContainsString": true }