Gunakan fungsi string dalam ekspresi rumus - AWS IoT SiteWise

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan fungsi string dalam ekspresi rumus

Dalam transformasi dan metrik, Anda dapat menggunakan fungsi berikut untuk beroperasi pada string. Untuk informasi selengkapnya, lihat Gunakan string dalam rumus.

penting

Ekspresi rumus hanya dapat menampilkan nilai ganda atau string. Ekspresi bersarang dapat menampilkan tipe data lain, seperti string, tetapi rumus secara keseluruhan harus mengevaluasi ke angka atau string. Anda dapat menggunakan fungsi jp untuk mengonversi string ke angka. Nilai Boolean harus 1 (true) atau 0 (false). Untuk informasi selengkapnya, lihat Nilai tidak terdefinisi, tak terbatas, dan meluap.

Fungsi Deskripsi

len(s)

Mengembalikan panjang strings.

find(s, substring)

Mengembalikan indeks string substring dalam strings.

contains(s, substring)

Mengembalikan 1 jika string s berisi stringsubstring, jika tidak0.

upper(s)

Mengembalikan string s dalam bentuk huruf besar.

lower(s)

Mengembalikan string s dalam bentuk huruf kecil.

jp(s, json_path)

Mengevaluasi string s dengan JsonPathekspresi json_path dan mengembalikan hasilnya.

Gunakan fungsi ini untuk melakukan hal berikut:

  • Ekstrak nilai, array, atau objek dari JSON struktur serial.

  • Mengkonversi string ke angka. Misalnya, rumus jp('111', '$') kembali 111 sebagai angka.

Untuk mengekstrak nilai string dari JSON struktur dan mengembalikannya sebagai angka, Anda harus menggunakan beberapa jp fungsi bersarang. jpFungsi luar mengekstrak string dari JSON struktur, dan jp fungsi dalam mengubah string menjadi angka.

String json_path harus berisi string literal. Ini berarti bahwa tidak json_path bisa menjadi ekspresi yang mengevaluasi ke string.

contoh Contoh
  • jp('{"status":"active","value":15}', '$.value')kembali15.

  • jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading')kembali25.

  • jp('[2,8,23]', '$[2]')kembali23.

  • jp('{"values":[3,6,7]}', '$.values[1]')kembali6.

  • jp('111', '$')kembali111.

  • jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$')kembali0.95.

join(s0, s1, s2, s3, ...)

Mengembalikan string gabungan dengan pembatas. Fungsi ini menggunakan string input pertama sebagai pembatas dan menggabungkan string input yang tersisa bersama-sama. Ini berperilaku mirip dengan fungsi join (CharSequence delimiter, CharSequence... elements) di Java.

contoh Contoh
  • join("-", "aa", "bb", "cc")kembali aa-bb-cc

format(expression: "format") atau format("format", expression)

Mengembalikan string dalam format yang ditentukan. Fungsi ini mengevaluasi expression nilai, dan kemudian mengembalikan nilai dalam format yang ditentukan. Ini berperilaku mirip dengan fungsi format (String format, Object... args) di Java. Untuk informasi selengkapnya tentang format yang didukung, lihat Konversi di bawah Formatter Kelas di Platform Java, Spesifikasi Edisi Standar 7 API.

contoh Contoh
  • format(100+1: "d")mengembalikan string,101.

  • format("The result is %d", 100+1)mengembalikan string,The result is 101.

f'expression'

Mengembalikan string gabungan. Dengan fungsi diformat ini, Anda dapat menggunakan ekspresi sederhana untuk menggabungkan dan memformat string. Fungsi-fungsi ini mungkin berisi ekspresi bersarang. Anda dapat menggunakan {} (kurawal kurawal) untuk menginterpolasi ekspresi. Ini berperilaku mirip dengan literal string yang diformat di Python.

contoh Contoh
  • f'abc{1+2: "f"}d'kembaliabc3.000000d. Untuk mengevaluasi ekspresi contoh ini, lakukan hal berikut:

    1. format(1+2: "f")mengembalikan nomor floating point,3.000000.

    2. join('', "abc", 1+2, 'd')mengembalikan string,abc3.000000d.

    Anda juga dapat menulis ekspresi dengan cara berikut:join('', "abc", format(1+2: "f"), 'd').