字串函數 string

瞭解如何在個人化編輯器中使用字串功能。

駝峰式大小寫 camelCase

camelCase函式會將字串中每個字的第一個字母大寫。

語法

{%= camelCase(string)%}

範例

下列函式會將設定檔街道地址中的第一個字元轉換為大寫。

{%= camelCase(profile.homeAddress.street) %}

字元代碼位於 char-code-at

charCodeAt函式會傳回字元的ASCII值,例如JavaScript中的charCodeAt函式。 它以字串和整數(定義字元的位置)作為輸入引數,並傳回其對應的ASCII值。

語法

{%= charCodeAt(string,int) %}: int

範例

以下函式傳回o的ASCII值,即111。

{%= charCodeAt("some", 1)%}

Concat concate

concat函式將兩個字串合併為一個。

語法

{%= concat(string,string) %}

範例

以下函式會將個人資料城市和國家/地區結合在單一字串中。

{%= concat(profile.homeAddress.city,profile.homeAddress.country) %}

包含 contains

contains函式用於決定字串是否包含指定的子字串。

語法

{%= contains(STRING_1, STRING_2, CASE_SENSITIVE) %}
引數
說明
STRING_1
執行檢查的字串。
STRING_2
要在第一個字串中搜尋的字串。
CASE_SENSITIVE
選擇性引數,用來判斷檢查是否區分大小寫。 可能的值: true (預設) / false。

範例

  • 以下函式將檢查設定檔名字是否包含字母A (大寫或小寫)。 若是如此,則會傳回「true」,否則會傳回「false」。

    code language-sql
    {%= contains(profile.person.name.firstName, "A", false) %}
    
  • 下列查詢會區分大小寫,判斷個人的電子郵件地址是否包含「2010@gm」字串。

    code language-sql
    {%= contains(profile.person.emailAddress,"2010@gm") %}
    

不包含 doesNotContain

doesNotContain函式是用來決定字串是否不包含指定的子字串。

語法

{%= doesNotContain(STRING_1, STRING_2, CASE_SENSITIVE)%}
引數
說明
STRING_1
執行檢查的字串。
STRING_2
要在第一個字串中搜尋的字串。
CASE_SENSITIVE
選擇性引數,用來判斷檢查是否區分大小寫。 可能的值: true (預設) / false。

範例

下列查詢會區分大小寫,判斷個人的電子郵件地址是否不包含字串「2010@gm」。

{%= doesNotContain(profile.person.emailAddress,"2010@gm")%}

結尾不是 doesNotEndWith

doesNotEndWith函式是用來決定字串的結尾是否不是指定的子字串。

語法

{%= doesNotEndWith(STRING_1, STRING_2, CASE_SENSITIVE)%}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要在第一個字串中搜尋的字串。
{CASE_SENSITIVE}
選擇性引數,用來判斷檢查是否區分大小寫。 可能的值: true (預設) / false。

範例

下列查詢會區分大小寫判斷個人的電子郵件地址是否不以「.com」結尾。

doesNotEndWith(person.emailAddress,".com")

開頭不是 doesNotStartWith

doesNotStartWith函式是用來判斷字串是否不是以指定的子字串開頭。

語法

{%= doesNotStartWith(STRING_1, STRING_2, CASE_SENSITIVE)%}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要在第一個字串中搜尋的字串。
{CASE_SENSITIVE}
選擇性引數,用來判斷檢查是否區分大小寫。 可能的值: true (預設) / false。

範例

下列查詢會區分大小寫,判斷人員名稱是否以「Joe」開頭。

{%= doesNotStartWith(person.name,"Joe")%}

編碼64 encode64

encode64函式可用來編碼字串,以保留個人資訊(PI),例如包含在URL中。

語法

{%= encode64(string) %}

結尾為 endsWith

endsWith函式用於決定字串的結尾是否為指定的子字串。

語法

{%= endsWith(STRING_1, STRING_2, CASE_SENSITIVE) %}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要在第一個字串中搜尋的字串。
{CASE_SENSITIVE}
選擇性引數,用來判斷檢查是否區分大小寫。 可能的值: true (預設) / false。

範例

下列查詢會區分大小寫,判斷個人的電子郵件地址是否以「.com」結尾。

{%= endsWith(person.emailAddress,".com") %}

等於 equals

equals函式是用來判斷字串是否等於指定的字串,且區分大小寫。

語法

{%= equals(STRING_1, STRING_2) %}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要與第一個字串進行比較的字串。

範例

下列查詢會區分大小寫,判斷人員是否為「John」。

{%=equals(profile.person.name,"John") %}

等於忽略大小寫 equalsIgnoreCase

equalsIgnoreCase函式用來判斷字串是否等於指定的字串,不區分大小寫。

語法

{%= equalsIgnoreCase(STRING_1, STRING_2) %}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要與第一個字串進行比較的字串。

範例

下列查詢會在不區分大小寫的情況下,判斷個人的姓名是否為「John」。

{%= equalsIgnoreCase(profile.person.name,"John") %}

擷取電子郵件網域 extractEmailDomain

extractEmailDomain函式用於擷取電子郵件地址的網域。

語法

{%= extractEmailDomain(string) %}

範例

以下查詢會擷取個人電子郵件地址的電子郵件網域。

{%= extractEmailDomain(profile.personalEmail.address) %}

格式化貨幣 format-currency

formatCurrency函式用來根據第二個引數中作為字串傳遞的區域設定,將任何數字轉換成其對應的語言敏感型貨幣表示法。

語法

{%= formatCurrency(number/double,string) %}: string

範例

此查詢傳回56.00英鎊

{%= formatCurrency(56L,"en_GB") %}

取得 url 主機 get-url-host

getUrlHost函式用於擷取URL的主機名稱。

語法

{%= getUrlHost(string) %}: string

範例

{%= getUrlHost("https://www.myurl.com/contact") %}

傳回「www.myurl.com」

取得 url 路徑 get-url-path

getUrlPath函式用於擷取URL網域名稱之後的路徑。

語法

{%= getUrlPath(string) %}: string

範例

{%= getUrlPath("https://www.myurl.com/contact.html") %}

傳回「/contact.html」

取得 url 通訊協定 get-url-protocol

getUrlProtocol函式用於擷取URL的通訊協定。

語法

{%= getUrlProtocol(string) %}: string

範例

{%= getUrlProtocol("https://www.myurl.com/contact.html") %}

傳回"http"

索引: index-of

indexOf函式是用來傳回第二個引數第一次出現的位置(在第一個引數中)。 如果沒有相符專案,則傳回–1。

語法

{%= indexOf(STRING_1, STRING_2) %}: integer
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要在第一個引數中搜尋的字串

範例

{%= indexOf("hello world","world" ) %}

傳回6。

是空的 isEmpty

isEmpty函式是用來判斷字串是否為空白。

語法

{%= isEmpty(string) %}

範例

如果設定檔的行動電話號碼空白,則以下函式會傳回「true」。 否則,會傳回「false」。

{%= isEmpty(profile.mobilePhone.number) %}

不是空的 is-not-empty

isNotEmpty函式是用來判斷字串是否不是空的。

語法

{= isNotEmpty(string) %}: boolean

範例

如果設定檔的行動電話號碼非空白,則以下函式會傳回「true」。 否則,會傳回「false」。

{%= isNotEmpty(profile.mobilePhone.number) %}

最後索引: last-index-of

lastIndexOf函式是用來傳回第二個引數最後一次出現的位置(在第一個引數中)。 如果沒有相符專案,則傳回–1。

語法

{= lastIndexOf(STRING_1, STRING_2) %}: integer
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要在第一個引數中搜尋的字串

範例

{%= lastIndexOf("hello world","o" ) %}

傳回7。

左側修剪 leftTrim

leftTrim函式用於從字串開頭移除空格。

語法

{%= leftTrim(string) %}

長度 length

length函式用於取得字串或運算式中的字元數。

語法

{%= length(string) %}

範例

下列函式傳回設定檔城市名稱的長度。

{%= length(profile.homeAddress.city) %}

like

like函式是用來判斷字串是否符合指定的模式。

語法

{%= like(STRING_1, STRING_2) %}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}

比對第一個字串的運算式。 建立運算式有兩個支援的特殊字元: %_

  • %用於表示零個或多個字元。
  • _只代表一個字元。

範例

下列查詢會擷取設定檔所在的所有城市,且其中包含「es」模式。

{%= like(profile.homeAddress.city, "%es%")%}

小寫 lower

lowerCase函式將字串轉換為小寫字母。

語法

{%= lowerCase(string) %}

範例

此函式將設定檔名字轉換為小寫字母。

{%= lowerCase(profile.person.name.firstName) %}

符合 matches

matches函式是用來判斷字串是否符合特定的規則運算式。 請參考此檔案以取得規則運算式中比對模式的詳細資訊。

語法

{%= matches(STRING_1, STRING_2) %}

範例

下列查詢會在不區分大小寫的情況下,判斷個人的名稱是否以「John」開頭。

{%= matches(person.name.,"(?i)^John") %}

遮罩 mask

Mask函式用來以「X」字元取代字串的一部分。

語法

{%= mask(string,integer,integer) %}

範例

下列查詢會將「123456789」字串取代為「X」字元,前兩個字元和最後兩個字元除外。

{%= mask("123456789",1,2) %}

查詢傳回1XXXXXX89

MD5 md5

md5函式用於計算及傳回字串的md5雜湊。

語法

{%= md5(string) %}: string

範例

{%= md5("hello world") %}

傳回「5eb63bbe01eeed093cb22bb8f5acdc3」

不等於 notEqualTo

notEqualTo函式是用來判斷字串是否不等於指定的字串。

語法

{%= notEqualTo(STRING_1, STRING_2) %}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要與第一個字串進行比較的字串。

範例

下列查詢會區分大小寫判斷個人的名稱是否不是"John"。

{%= notEqualTo(profile.person.name,"John") %}

不等於,忽略大小寫 not-equal-with-ignore-case

notEqualWithIgnoreCase函式是用來比較兩個字串,忽略大小寫。

語法

{= notEqualWithIgnoreCase(STRING_1,STRING_2) %}: boolean
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要與第一個字串進行比較的字串。

範例

下列查詢會判斷人員姓名是否為「john」,不區分大小寫。

{%= notEqualTo(profile.person.name,"john") %}

規則運算式群組 regexGroup

Group函式是用來根據提供的規則運算式擷取特定資訊。

語法

{%= regexGroup(STRING, EXPRESSION, GROUP) %}
引數
說明
{STRING}
執行檢查的字串。
{EXPRESSION}
比對第一個字串的規則運算式。
{GROUP}
要比對的運算式群組。

範例

下列查詢用於從電子郵件地址中擷取網域名稱。

{%= regexGroup(emailAddress,"@(\\w+)", 1) %}

取代 replace

replace函式用來以另一個子字串取代字串中的指定子字串。

語法

{%= replace(STRING_1,STRING_2,STRING_3) %}:string
引數
說明
{STRING_1}
必須取代子字串的字串。
{STRING_2}
要取代的子字串。
{STRING_3}
替代子字串。

範例

{%= replace("Hello John, here is your monthly newsletter!","John","Mark") %}

傳回「Hello Mark,這是您的每月電子報!」

全部取代 replaceAll

replaceAll函式可用來以指定的常值「取代」字串,取代符合「規則運算式」之文字的所有子字串。 Regex有特殊的""和"+"處理,所有regex運算式都遵循PQL逸出策略。 例如,取代會從字串的開頭到結尾進行,將字串「aaa」中的「aa」取代為「b」將會產生「ba」而非「ab」。

語法

{%= replaceAll(string,string,string) %}
NOTE
當當作第二個引數的運算式是特殊規則運算式字元時,請使用雙反斜線(//)。 特殊規則運算式字元包括:[., +, *, ?, ^, $, (, ), [,], {, }, |, .]
進一步瞭解Oracle檔案

右側修剪 rightTrim

使用rightTrim函式時,會移除字串結尾的空格。

語法

{%= rightTrim(string) %}

Split split

split函式是用來依指定字元分割字串。

語法

{%= split(string,string) %}

開頭為 startsWith

startsWith函式是用來決定字串的開頭是否為指定的子字串。

語法

{%= startsWith(STRING_1, STRING_2, CASE_SENSITIVE) %}
引數
說明
{STRING_1}
執行檢查的字串。
{STRING_2}
要在第一個字串中搜尋的字串。
{CASE_SENSITIVE}
選擇性引數,用來判斷檢查是否區分大小寫。 依預設,此設定為true。

範例

下列查詢會區分大小寫,判斷人員名稱是否以「Joe」開頭。

{%= startsWith(person.name,"Joe") %}

字串至日期 string-to-date

stringToDate函式將字串值轉換為日期時間值。 它需要兩個引數:日期時間的字串表示和格式化程式的字串表示。

語法

{= stringToDate("date-time value","formatter" %}

範例

{= stringToDate("2023-01-10 23:13:26", "yyyy-MM-dd HH:mm:ss") %}

字串至整數 string-to-integer

string_to_integer函式用於將字串值轉換為整數值。

語法

{= string_to_integer(string) %}: int

字串至數字 string-to-number

stringToNumber函式用於將字串轉換為數字。 對於無效的輸入,它會傳回相同字串作為輸出。

語法

{%= stringToNumber(string) %}: double

子字串 sub-string

Count string函式用來傳回開始索引和結束索引之間的字串運算式的子字串。
語法

{= substr(string, integer, integer) %}: string

字首大寫 titleCase

titleCase ​函式用來將字串中每個字詞的首字母大寫。

語法

{%= titleCase(string) %}

範例

如果人員住在華盛頓大街,此函式將傳回華盛頓大街。

{%= titleCase(profile.person.location.Street) %}

至 Bool to-bool

toBool函式是用來將引數值轉換為布林值(視其型別而定)。

語法

{= toBool(string) %}: boolean

至日期時間 to-date-time

toDateTime函式用於將字串轉換為日期。 針對無效輸入會傳回epoch日期作為輸出。

語法

{%= toDateTime(string, string) %}: date-time

至僅日期時間 to-date-time-only

toDateTimeOnly函式用於將引數值轉換為僅日期時間值。 針對無效輸入會傳回epoch日期作為輸出。 此函式接受字串、日期、長欄位和整欄位型別。

語法

{%= toDateTimeOnly(string/date/long/int) %}: date-time

修剪 trim

trim ​函式會移除字串開頭和結尾的所有空格。

語法

{%= trim(string) %}

大寫 upper

upperCase ​函式將字串轉換為大寫字母。

語法

{%= upperCase(string) %}

範例

此函式將設定檔姓氏轉換為大寫字母。

{%= upperCase(profile.person.name.lastName) %}

Url 解碼 url-decode

urlDecode函式用於解碼url編碼的字串。

語法

{%= urlDecode(string) %}: string

Url 編碼 url-encode

Count only null函式用於對字串進行URL編碼。

語法

{%= urlEncode(string) %}: string
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76