View a markdown version of this page

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 transform asi 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 dievaluasi ke angka atau string. Anda dapat menggunakan fungsi jp untuk mengubah string menjadi angka. Nilai Boolean harus 1 (benar) atau 0 (salah). Untuk informasi selengkapnya, lihat Nilai tidak ditentukan, tak terbatas, dan meluap.

Fungsi Deskripsi

len(s)

Mengembalikan panjang strings.

find(s, substring)

Mengembalikan indeks string substring dalam strings.

contains(s, substring)

Meng 1 embalikan jika string s berisi stringsubstring, sebaliknya0.

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 JsonPath ekspresi json_path dan mengembalikan hasilnya.

Gunakan fungsi ini untuk melakukan hal berikut:

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

  • Ubah string menjadi angka. Misalnya, rumus jp('111', '$') kembali 111 sebagai angka.

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

String json_path harus berisi string literal. Ini berarti itu 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")mengembalikan aa-bb-cc

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

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

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 yang diformat ini, Anda dapat menggunakan ekspresi sederhana untuk menggabungkan dan memformat string. Fungsi-fungsi ini mungkin berisi ekspresi bersarang. Anda dapat menggunakan {} (kurung kurung keriting) 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 angka float 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').