字串函數
本節描述用來處理及操縱字串的函數。
所有函數都可同時用於資料載入指令碼和圖表運算式中,Evaluate 除外,它只能用於資料載入指令碼中。
使用每個函數中的下拉式功能表,以查看每個函數的簡要描述及語法。按一下語法描述中的函數名稱,以取得進一步詳細資料。
Capitalize() 函數將文字字串中每個字詞的第一個字元轉換為大寫,並將所有其他字元轉換為小寫。
Capitalize(text)
Chr() 會傳回相當於輸入整數的 Unicode 字元,也稱為碼點。
Chr(int)
Evaluate() 會尋找輸入文字字串是否能夠評估為有效的 Qlik Sense 運算式,如果可以,則以字串形式傳回運算式的值。如果輸入字串不是有效的運算式,則會傳回 NULL。
Evaluate(expression_text)
ExtractRegEx() 會使用指定的規則運算式模式從輸入字串運算式中擷取文字。如果未找到相符項,則該函數將傳回空值。
ExtractRegEx(text, regex [, field_no])
ExtractRegExGroup() 會使用指定的複合規則運算式模式從輸入字串運算式中擷取文字。使用該函數時,請指定要在複合 Regex 中使用的群組。如果未找到相符項,則該函數將傳回空值。
ExtractRegExGroup(text, regex, group [, field_no])
FindOneOf() 會搜尋字串,以尋找出現的所提供字元集中任何字元的位置。傳回搜尋集合中任意字元第 N 個出現的位置,其中 N 是函數的第三個選用參數。如果未提供第三個參數,則會傳回第一個出現的內容。如果找不到符合的值,則會傳回 0。
FindOneOf(text, char_set[, count])
Hash128() 會傳回組合輸入運算式值的 128 位元雜湊值。結果為包含 22 個字元的字串。
Hash128(expr{, expression})
Hash160() 會傳回組合輸入運算式值的 160 位元雜湊值。結果為包含 27 個字元的字串。
Hash160(expr{, expression})
Hash256() 會傳回組合輸入運算式值的 256 位元雜湊值。結果為包含 43 個字元的字串。
Hash256(expr{, expression})
Index() 會搜尋字串,以尋找第 n 次出現所提供子字串的開始位置。可選的第三個引數會提供 n 的值,如果省略則為 1。負數值會從字串的結尾開始搜尋。字串中的位置編號是由左至右從 1 算起。
Index (text, substring[, count])
IndexRegEx() 會搜尋輸入字串並傳回指定規則運算式模式第 n 次出現的起始位置。可選的第三個引數 count 會提供 n 的值,如果省略則為 1。字串中的位置編號是由左至右從 1 算起。如果未找到相符項,則該函數會傳回 0。
IndexRegEx(text, regex [, count])
ExtractRegExGroup() 會使用指定的複合規則運算式模式從輸入字串運算式中擷取文字。使用該函數時,請指定要在複合 Regex 中使用的群組。如果未找到相符項,則該函數將傳回空值。
IndexRegExGroup(text, regex, group [, count])
IsJson() 測試指定的字串是否包含有效的 JSON (JavaScript 物件標記法) 資料。您也可以驗證特定的 JSON 資料類型。
IsJson(json [, type])
JsonGet() 傳回 JSON (JavaScript 物件標記法) 資料字串的路徑。資料必須為有效的 JSON,但可以包含額外的空格或新行。
JsonGet(json, path)
JsonSet() 修改包含 JSON (JavaScript 物件標記法) 資料的字串。這可以透過路徑指定的新位置設定或插入 JSON 值。資料必須為有效的 JSON,但可以包含額外的空格或新行。
JsonSet(json, path, value)
KeepChar() 會傳回包含第一個字串中任何字元的字串,並符合第二個字串的字元。此函數區分大小寫。
KeepChar(text, keep_chars)
Left() 會傳回包含輸入字串第一個 (最左側) 字元的字串,其中字元數由第二個引數決定。
Left(text, count)
Len() 會傳回輸入字串的長度。
Len(text)
LevenshteinDist() 傳回兩個字串之間的 Levenshtein 距離。這定義為將一個字串變更為另一個字串所需的最小單一字元編輯數量 (插入、刪除或替代)。 該函數對於模糊字串比較很實用。
LevenshteinDist(text1, text2)
Lower() 會將輸入字串中的所有字元轉換為小寫形式。
Lower(text)
LTrim() 會傳回修剪掉所有前置空格的輸入字串。
LTrim(text)
MatchRegEx() 會將輸入字串與一或多個指定的規則運算式模式進行比較,並傳回相符的規則運算式模式的數字位置。如果未找到相符項,則該函數將傳回 0。此函數僅尋找完全相符項。
MatchRegEx(text, regex1 [ , regex2,...regexN])
Mid() 會傳回輸入字串的部分,從第二個引數 'start' 定義的字元位置開始,並傳回第三個引數 'count' 定義的字元數目。如省略 'count',則會傳回剩餘的輸入字串。輸入字串中的第一個字元編號為 1。
Mid(text, start[, count])
Ord() 傳回字串第一個字元的數字 (ASCII 或 Unicode) 值。此函數可用於根據字串的基礎字元碼評估或比較字串,例如,排序或篩選包含非標準字元的字串時。
Ord(text)
PurgeChar() 會傳回包含輸入字串 ('text') 中包括之字元的字串,第二個引數 ('remove_chars') 中出現的任何字元除外。
PurgeChar(text, remove_chars)
Repeat() 會形成一個字串,包含的輸入字串重複第二個引數所定義的次數。
Repeat(text[, repeat_count])
將輸入字串內所有出現的指定子字串取代為另一個子字串之後,Replace() 會傳回該字串。此函數不遞迴並會從左至右運作。
Replace(text, from_str, to_str)
ReplaceRegEx() 會在取代輸入字串與指定規則運算式模式之間的一或多個相符項後傳回一個字串。取代相符文字的文字在 to_str 引數中指定。該函數從左至右運作,但如果指定負 occurrence 值,則函數從右至左讀取。
ReplaceRegEx(text, regex, to_str [, occurrence])
ReplaceRegExGroup() 會在取代輸入字串與指定複合規則運算式模式之間的一或多個相符項後傳回一個字串。取代相符文字的文字在 to_str 引數中指定。該函數從左至右運作,但如果指定負 occurrence 值,則函數從右至左讀取。
ReplaceRegExGroup(text, regex, to_str, group [, occurrence])
Right() 會傳回包含輸入字串最後一個 (最右側) 字元的字串,其中字元數由第二個引數決定。
Right(text, count)
RTrim() 會傳回修剪掉所有尾端空格的輸入字串。
RTrim(text)
SubField() 用來從上層字串欄位中擷取子字串元件,其中原始記錄欄位包含兩個或多個部分,以分隔符號分隔。
SubField(text, delimiter[, field_no ])
SubFieldRegEx() 會使用指定的規則運算式模式作為分隔符號,從輸入字串運算式中擷取文字。如果未找到相符項,則該函數將傳回空值。
SubFieldRegEx(text, regex_delimiter [, field_no])
SubStringCount() 會傳回輸入字串文字中指定子字串的出現次數。如果沒有任何相符項,則會傳回 0。
SubStringCount(text, substring)
TextBetween() 會傳回輸入字串中在指定為分隔符號之字元之間出現的文字。
TextBetween(text, delimiter1, delimiter2[, n])
Trim() 會傳回修剪掉所有前置和尾端空格的輸入字串。
Trim(text)
Upper() 會將輸入字串中的所有字元轉換為運算式中所有文字字元的大寫形式。數字和符號會被忽略。
Upper(text)