本文介紹字串函數的文法規則,包括參數解釋、函數樣本等。
函數列表
類型 | 函數 | 說明 |
多字串操作 | 按照指定格式對字串進行格式化。 | |
通過串連符將輸入的字串串連,產生一個新的字串。 | ||
將兩個值或運算式的字串進行拆分,然後再合并成一個字串。 | ||
編碼解碼 | 按照指定的編碼格式對字串進行編碼。 | |
按照指定的編碼格式對傳入值進行解碼。 | ||
轉義特殊字元,支援將十六進位字元轉義為中文字元。 | ||
隨機產生UUID。 | ||
排序、倒敘、替換 | 將指定的對象進行排序。 | |
將一個字串進行反轉。 | ||
根據規則將舊字串替換成新字串。 | ||
將Logstash配置語言轉成JSON格式。 | ||
將字串中的指定字元按照對應關係進行替換。 | ||
常規規整 | 刪除字串中指定的字元。 | |
刪除字串開頭的指定字元。 | ||
刪除字串結尾的指定字元。 | ||
將字串中所有大寫字元轉換為小寫字元。 | ||
將字串中所有小寫字元轉換為大寫字元。 | ||
將所有單詞的第一個字母轉化為大寫,其餘字母均為小寫。 | ||
將字串的第一個字母轉化為大寫,其他字母轉化為小寫。 | ||
對字串的大小寫字母進行轉換。 | ||
尋找判斷 | 統計字串裡某個字元出現的次數。 | |
判斷原字串中是否包含指定的子字串。 | ||
尋找字串中指定字元或者字串最後一次出現的位置。 | ||
判斷字串是否以指定尾碼結尾。 | ||
判斷字串是否以指定字串開頭。 | ||
切分 | 通過指定分隔字元對字串進行分割。 | |
通過分行符號符對字串進行分割。 | ||
根據指定的分隔字元將字串從左往右分割為三部分。 | ||
根據指定的分隔字元將字串從右往左分割為三部分。 | ||
格式化 | 用指定字元將字串填充到指定長度。 | |
用指定字元將字串從結尾填充至指定長度。 | ||
用指定字元將原字串從開頭填充直至指定長度。 | ||
用字元0從開頭將字串填充至指定長度。 | ||
將字串中的 | ||
字元集判斷 | 判斷字串是僅由字母和數字組成。 | |
判斷字串是否僅由字母組成。 | ||
判斷字串是否在ASCII中。 | ||
判斷字串是否僅包含十進位字元。 | ||
判斷字串是否僅由數字組成。 | ||
判斷字串是否是有效Python標識符,也可以用來判斷變數名是否合法。 | ||
判斷字串是否由小寫字母組成。 | ||
判斷字串是否由數字組成。 | ||
判斷字串中是否所有字元都是可列印字元。 | ||
判斷字串是否僅由空白字元組成。 | ||
判斷字串中所有單詞的拼字首字母是否為大寫,且其他字母為小寫。 | ||
判斷字串中所有的字母是否都為大寫。 |
str_format
將字串按照指定格式進行格式化。
函數格式
str_format(format_string, value1, value2, ...)
參數說明
參數名稱
資料類型
是否必填
說明
format_string
任意(自動轉為String)
是
轉換後的格式。例如
{}={}
。value1
任意
是
待格式化的值1。
value2
任意
是
待格式化的值2。
返回結果
返回格式化後的字串。
函數樣本
原始日誌
class: Format escape_name: Traditional
加工規則
e_set("str_format", str_format("{}={}", v("class"), v("escape_name")))
加工結果
class: Format escape_name: Traditional str_format: Format=Traditional
str_join
通過串連符將輸入的字串串連產生一個新的字串。
函數格式
str_join(connector, value1, value2, ....)
參數說明
參數名稱
資料類型
是否必填
說明
connector
任意(自動轉為String)
是
串連符。例如驚嘆號(!)、at符號(@)、井號(#)、貨幣符號($)、百分比符號(%)等。
value1
任意(自動轉為String)
是
待串連的值。
value2
任意(自動轉為String)
是
待串連的值。
返回結果
返回串連後的字串。
函數樣本
原始日誌
name: ETL company: aliyun.com
加工規則
e_set("email", str_join("@", v("name"), v("company")))
加工結果
name: ETL company: aliyun.com email:ETL@aliyun.com
str_encode
按照指定的編碼格式對字串進行編碼。
函數格式
str_encode(value, "utf8", errors="ignore")
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被編碼的值。
encoding
String
否
編碼格式,預設為UTF-8。支援ASCII。
errors
String
否
按照編碼格式無法識別字元時的處理方式。取值包括:
ignore(預設值):忽略不做編碼。
strict:直接報錯,丟棄此條日誌資料。
replace:使用半形問號(?)替換無法識別部分。
xmlcharrefreplace:使用對應XML字元替換無法識別部分。
返回結果
返回編碼後的字串。
函數樣本
樣本1
原始日誌
test: asewds
加工規則
e_set("f1", str_decode(str_encode("你好", "utf8"), "utf8"))
加工結果
test: asewds f1: 你好
樣本2
原始日誌
f2: test 測試資料
加工規則
e_set("f1", str_encode(v("f2"), "ascii", errors="ignore"))
加工結果
f1:test f2:test 測試資料
樣本3
原始日誌
f2: test 測試資料
加工規則
e_set("f1", str_encode(v("f2"), "ascii", errors="strict"))
加工結果
執行時直接報錯。
樣本4
原始日誌
f2: test 測試資料
加工規則
e_set("f1", str_encode(v("f2"), "ascii", errors="replace"))
加工結果
f1:test ???? f2:test 測試資料
樣本5
原始日誌
f2: test 測試資料
加工規則
e_set("f1", str_encode(v("f2"), "ascii", errors="xmlcharrefreplace"))
加工結果
f1:test 测试数据 f2:test 測試資料
str_decode
按照指定的編碼格式對傳入值進行解碼。
函數格式
str_decode(value, "utf8", errors="ignore")
說明str_decode只能處理Byte類型的資料。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被解碼的值。
encoding
任意(自動轉為String)
否
編碼格式,預設為UTF-8。 支援ASCII。
errors
任意(自動轉為String)
否
按照編碼格式無法識別字元時的處理方式。取值包括:
ignore(預設值):忽略不做解碼。
strict:直接報錯,丟棄此條日誌資料。
replace:使用半形問號(?)替換無法編解碼部分。
xmlcharrefreplace:使用對應XML字元替換無法編解碼部分。
返回結果
返回解碼後的值。
函數樣本
原始日誌
test: asewds
加工規則
e_set("encoding", str_decode(b'\xe4\xbd\xa0\xe5\xa5\xbd', "utf8", 'strict'))
加工結果
test: asewds encoding: 你好
str_replace
將舊字串根據規則替換成新字串。
函數格式
str_replace(value, old, new, count)
說明該函數為基本變參調用形式,請參見函數調用方式。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被替換的值。
old
任意(自動轉為String)
是
需要被替換的字串。
new
任意(自動轉為String)
是
替換後新的字串。
count
Number
否
替換次數,可選項。如果不設定count,則表示替換所有。
返回結果
返回一個新字串。
函數樣本
將dict類型轉成JSON類型。
原始日誌
content: {'referer': '-', 'request': 'GET /phpMyAdmin', 'status': 404, 'data-1': {'aaa': 'Mozilla', 'bbb': 'asde'}, 'data-2': {'up_adde': '-', 'up_host': '-'}}
加工規則
e_set("content_json", str_replace(ct_str(v("content")),"'",'"'))
加工結果
content: {'referer': '-', 'request': 'GET /phpMyAdmin', 'status': 404, 'data-1': {'aaa': 'Mozilla', 'bbb': 'asde'}, 'data-2': {'up_adde': '-', 'up_host': '-'}} content_json: {"referer": "-", "request": "GET /phpMyAdmin", "status": 404, "data-1": {"aaa": "Mozilla", "bbb": "asde"}, "data-2": {"up_adde": "-", "up_host": "-"}}
str_sort
將指定的對象進行排序。
函數格式
str_sort(value, reverse=False)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被排序的原字串。
reverse
Boolean
否
預設為False,表示升序排列。
返回結果
返回排序後的字串。
函數樣本
樣本1:對str字串整體進行排序。
原始日誌
str: twish
加工規則
e_set("str_sort", str_sort(v("str")))
加工結果
str: twish str_sort: histw
樣本2:對str字串進行兩個一組的倒排序。
原始日誌
str: twish
加工規則
e_set("str_sort", str_sort(v("str"), reverse=True))
加工結果
str: twish str_sort: wtsih
str_reverse
將一個字串進行反轉。
函數格式
str_reverse(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被反轉的值。
返回結果
返回反轉後的字串。
函數樣本
對欄位data的值進行反轉。
原始日誌
data:twish
加工規則
e_set("reverse_data", str_reverse(v("data")))
加工結果
data:twish reverse_data:hsiwt
str_logstash_config_normalize
將Logstash配置格式轉成JSON格式。
函數格式
str_logstash_config_normalize(value)
說明關於Logstash類型說明請參見Logstash。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉換的值。
返回結果
返迴轉換後的字串。
函數樣本
對Logstash類型資料進行轉換。
原始日誌
logstash: {"name"=>"tw5"}
加工規則
e_set("normalize_data", str_logstash_config_normalize(v("logstash")))
加工結果
logstash: {"name"=>"tw5"} normalize_data:{"name":"tw5"}
str_hex_escape_encode
將特殊字元進行轉義,支援十六進位字元轉義為中文字元。
函數格式
str_hex_escape_encode(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉義的值。
返回結果
返迴轉義後的字串。
函數樣本
將myfriend欄位的值轉義為中文字元。
原始日誌
myfriend: \xE6\x9F\xB3\xE4\xBA\x91
加工規則
e_set("hex_myfriend", str_hex_escape_encode("myfriend"))
加工結果
hex_myfriend:myfriend myfriend:\xE6\x9F\xB3\xE4\xBA\x91
str_strip
刪除字串中指定的字元。
函數格式
str_strip(value, chars)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
chars
任意(自動轉為String)
否
字串開頭和結尾需要刪除的字元集,預設為
\t\r\n
。返回結果
返回修改後的字串。
函數樣本
樣本1:刪除strip開頭的
*
字元。原始日誌
strip: ***I love Etl
加工規則
e_set("str_strip", str_strip(v("strip"), "*"))
加工結果
strip: ***I love Etl str_strip:I love Etl
樣本2:刪除strip開頭的空格。
原始日誌
strip: I love Etl
加工規則
e_set("str_strip", str_strip(v("strip")))
加工結果
strip: I love Etl str_strip: I love Etl
樣本3:刪除的字元集為
xy
。原始日誌
strip:xy123yx
加工規則
e_set("str_strip", str_strip(v("strip"), "xy"))
加工結果
strip:xy123yx str_strip:123
str_lower
將字串中所有大寫字元轉換為小寫字元。
函數格式
str_lower(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉換的字串。
返回結果
返迴轉換後的字串。
函數樣本
把name值全部轉換成小寫字母。
原始日誌
name: Etl
加工規則
e_set("str_lower", str_lower(v("name")))
加工結果
name: Etl str_lower: etl
str_upper
將字串中所有小寫字元轉換為大寫字元。
函數格式
str_upper(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉換的字串。
返回結果
返迴轉換後的字串。
函數樣本
把name值全部轉換成大寫字母。
原始日誌
name: etl
加工規則
e_set("str_upper", str_upper(v("name")))
加工結果
name: etl str_upper: ETL
str_title
將所有單詞的第一個字母轉化為大寫,其餘字母均為小寫。
函數格式
str_title(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉換的字串。
返回結果
返迴轉換後的字串。
函數樣本
將word欄位值中所有單詞的首字母轉成大寫。
原始日誌
word: this is etl
加工規則
e_set("str_title", str_title(v("word")))
加工結果
word: this is etl str_title: This Is Etl
str_capitalize
將字串的第一個字母轉化為大寫,其他字母轉化為小寫。
函數格式
str_capitalize(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉換的字串。
返回結果
返迴轉換後的字串。
函數樣本
將word欄位值中第一個字元轉換為大寫,其他字元轉換為小寫。
原始日誌
word: this Is MY EAL
加工規則
e_set("str_capitalize", str_capitalize(v("word")))
加工結果
word: this Is MY EAL str_capitalize: This is my eal
str_lstrip
刪除字串開頭的指定字元。
函數格式
str_lstrip(value, chars)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
chars
任意(自動轉為String)
否
字串開頭需要刪除的字元集,預設為空白格。
返回結果
返回修改後的字串。
函數樣本
樣本1:去掉word欄位開頭的星號(*)。
原始日誌
word: ***this is string
加工規則
e_set("str_lstrip", str_lstrip(v("word"), "*"))
加工結果
word: ***this is string str_lstrip: this is string
樣本2:刪除word欄位開頭的空格。
原始日誌
word: this is string
加工規則
e_set("str_lstrip", str_lstrip(v("word")))
加工結果
word: this is string str_lstrip: this is string
樣本3:刪除字元集
xy
。原始日誌
lstrip:xy123yx
加工規則
e_set("str_lstrip", str_lstrip(v("lstrip"),"xy"))
加工結果
lstrip:xy123yx str_lstrip:123yx
str_rstrip
刪除字串結尾的指定字元。
函數格式
str_rstrip(value, chars)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
chars
任意(自動轉為String)
否
字串結尾需要刪除的字元集,預設為空白格。
返回結果
返回修改後的字串。
函數樣本
樣本1:去掉word欄位結尾的星號(*)。
原始日誌
word: this is string*****
加工規則
e_set("str_rstrip", str_rstrip(v("word"), "*"))
加工結果
word: this is string***** str_rstrip: this is string
樣本2:刪除字元集
xy
。原始日誌
word:xy123yx
加工規則
e_set("str_rstrip", str_rstrip(v("word"), "xy"))
加工結果
word:xy123yx str_rstrip:xy123
str_swapcase
對字串的大小寫字母進行轉換。
函數格式
str_swapcase(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被轉換的字串。
返回結果
返迴轉換後的字串。
函數樣本
原始日誌
name: this is string
加工規則
e_set("str_swapcase", str_swapcase(v("name")))
加工結果
name: this is string str_swapcase: THIS IS STRING
str_translate
將字串中的指定字元按照對應關係進行替換。
函數格式
str_translate(value, replace_string, mapping_string)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被替換的原字串。
replace_string
任意(自動轉為String)
是
需要替換的字元集合。
mapping_string
任意(自動轉為String)
是
替換後的字元集合。
返回結果
返回處理後的字串。
函數樣本
原始日誌
name: I love ETL!!!
加工規則
e_set("str_translate", str_translate(v("name"), "aeiou", "12345"))
加工結果
name: I love ETL!!! str_translate: I l4v2 ETL!!!
str_endswith
判斷字串是否以指定尾碼結尾。
函數格式
str_endswith(value, suffix, start, end)
說明該函數為基本變參調用形式,請參見函數調用方式。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被判斷的原字串。
suffix
任意(自動轉為String)
是
尾碼結尾規則。該參數可以是一個字串或者是一個元素。
start
Number
否
字串檢測的起始位置。
0表示第一個字元,-1表示倒數第一個字元。
end
Number
否
字串檢測的結束位置。
0表示第一個字元,-1表示倒數第一個字元。
返回結果
如果字串以指定尾碼結尾則返回True,否則返回False。
函數樣本
原始日誌
name: this is endswith!!!
加工規則
e_set("str_endswith",str_endswith(v("name"), "!"))
加工結果
name: this is endswith!!! str_endswith: True
str_startswith
判斷字串是否以指定字串開頭。
函數格式
str_startswith(value, prefix, start, end)
說明該函數為基本變參調用形式,請參見函數調用方式。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被判斷的原字串。
prefix
任意(自動轉為String)
是
首碼規則。該參數可以是一個字串或者是一個元素。
start
Number
否
字串檢測的起始位置。
0表示第一個字元,-1表示倒數第一個字元。
end
Number
否
字串檢測的結束位置。
0表示第一個字元,-1表示倒數第一個字元。
返回結果
如果字串以指定首碼開頭則返回True,否則返回False。
函數樣本
原始日誌
name: !! this is startwith
加工規則
e_set("str_startswith",str_startswith(v("name"), "!!"))
加工結果
name: !! this is startwith str_startswith: True
str_find
判斷原字串中是否包含指定的子字串。
函數格式
str_find(value, str, begin, end)
說明該函數為基本變參調用形式,請參見函數調用方式。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被尋找的原字串。
str
任意(自動轉為String)
是
指定尋找的子字串。
begin
Number
否
開始索引的位置。
預設為0表示第一個字元,-1表示倒數第一個字元。
end
Number
否
結束索引的位置。
預設為字串的長度。0表示第一個字元,-1表示倒數第一個字元。
返回結果
返回指定子字串在原字串中的位置。如果指定的子字串在原字串中出現多次,只返回第一次出現的子字串的位置。
函數樣本
原始日誌
name: hello world
加工規則
e_set("str_find",str_find(v("name"), "h"))
加工結果
name: hello world str_find: 0
str_count
統計字串裡某個字元出現的次數。
函數格式
str_count(value, sub, start, end)
說明該函數為基本變參調用形式,請參見函數調用方式。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
被統計的原字串。
sub
任意(自動轉為String)
是
需要統計個數的字元。
start
Number
否
字串開始搜尋的位置。
0(預設值):第一個字元。
-1:最後一個字元。
end
Number
否
字串中結束搜尋的位置。
0:第一個字元。
-1(預設值):最後一個字元。
返回結果
返回指定字元出現的次數。
函數樣本
原始日誌
name: this is really a string
加工規則
e_set("str_count", str_count(v("name"), "i"))
加工結果
name: this is really a string str_count: 3
str_rfind
尋找字串中指定字元或者字串最後一次出現的位置。
函數格式
str_rfind(value, substr, beg, end)
說明該函數為基本變參調用形式,請參見函數調用方式。
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
被尋找的原字串。
substr
任意(自動轉為String)
是
需要尋找的字元。
beg
Number
否
開始尋找的位置,預設為0。
end
Number
否
結束尋找的位置,預設為字串的長度。
返回結果
返回字元或字串最後一次出現的位置。
函數樣本
原始日誌
name: this is really a string
加工規則
e_set("str_rfind", str_rfind(v("name"), "i"))
加工結果
name: this is really a string str_rfind: 20
str_split
通過指定分隔字元對字串進行分割。
函數格式
str_split(value, sep=None, maxsplit=-1)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被分割的原字串。
sep
Number
否
分隔字元,None表示空格。
maxsplit
Number
否
最大分裂數。-1表示不限制。
返回結果
返回處理後的字串。
函數樣本
按照空格對content進行分隔。
原始日誌
content: hello world
加工規則
e_set("str_split", str_split(v("content"), " "))
加工結果
content: hello world str_split: ["hello", "world"]
str_splitlines
通過分行符號對字串進行分割。
函數格式
str_splitlines(value, keepends)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被分割的原字串。
keepends
Boolean
否
在輸出結果裡是否去掉分行符號(
\r
、\r\n
、\n
)。預設為False,不包含分行符號,如果為True,則保留分行符號。返回結果
返回處理後的列表。
函數樣本
樣本1
原始日誌
content: ab c\n\nde fg\rkl\r\n
加工規則
e_set("str_splitlines", str_splitlines(v("content"), False))
加工結果
content: ab c\n\nde fg\rkl\r\n str_splitlines: ['ab c', '', 'de fg', 'kl']
樣本2
原始日誌
content: ab c\n\nde fg\rkl\r\n
加工規則
e_set("str_splitlines", str_splitlines(v("content"), True))
加工結果
content: ab c\n\nde fg\rkl\r\n str_splitlines: ['ab c\n', '\n', 'de fg\r', 'kl\r\n']
str_partition
根據指定的分隔字元將字串從左往右分割為三部分。
函數格式
str_partition(value, substr)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被分割的字串。
substr
任意(自動轉為String)
否
指定的分隔字元。
返回結果
返回分隔後的列表。
函數樣本
對website按照
.
從左往右分隔成三部分。原始日誌
website: www.aliyun.com
加工規則
e_set("str_partition", str_partition(v("website"), "."))
加工結果
website: www.aliyun.com str_partition: ["www", ".", "aliyun.com"]
str_rpartition
根據指定的分隔字元將字串從右往左分割為三部分。
函數格式
str_rpartition(value, substr)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被分割的原字串。
substr
任意(自動轉為String)
否
指定的分隔字元。
返回結果
返回處理後的列表。
函數樣本
對website按照
.
從右往左分隔成三部分。原始日誌
website: www.aliyun.com
加工規則
e_set("str_partition", str_rpartition(v("website"), "."))
加工結果
website: www.aliyun.com str_partition: ["www.aliyun", ".", "com"]
str_center
用指定字元將字串填充到指定長度。
函數格式
str_center(value, width, fillchar)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
width
Number
是
填充後字串的總長度。
fillchar
任意(自動轉為String)
否
填充字元,預設為空白格。
返回結果
返回處理後的字串。
說明如果指定的填充後字串長度小於原字串長度則直接返回原字串。
函數樣本
樣本1:使用
*
輸入鍵台字串。原始日誌
center: this is center
加工規則
e_set("str_center", str_center(v("center"), 40, "*"))
加工結果
center: this is center str_center: *************this is center*************
樣本2:使用空格填充字串。
原始日誌
center: this is center
加工規則
e_set("str_center", str_center(v("center"), 40))
加工結果
center: this is center str_center: this is center
str_zfill
用字元0從開頭將字串填充至指定長度。
函數格式
str_zfill(value, width)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
width
Number
是
填充後字串的總長度。
返回結果
返回處理後的字串。
函數樣本
原始日誌
center: this is zfill
加工規則
e_set("str_zfill", str_zfill(v("center"), 40))
加工結果
center:this is zfill str_zfill:000000000000000000000000000this is zfill
str_expandtabs
將字串中的\t
轉為空白格。
函數格式
str_expandtabs(value, tabsize)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
tabsize
Number
是
指定轉換後空格的字元數。
返回結果
返回處理後的字串。
函數樣本
樣本1:把Logstash中的
\t
字元轉為空白格。原始日誌
logstash: this is\tstring
加工規則
e_set("str_expandtabs", str_expandtabs(v("logstash")))
加工結果
logstash: this is\tstring str_expandtabs: this is string
樣本2:把center中的
\t
字元轉為空白格。原始日誌
{"center": "this is\tstring"}
加工規則
e_set("str_expandtabs", str_expandtabs(v("center"), 16))
加工結果
center: this is\tstring str_expandtabs: this is string
str_ljust
用指定字元將原字串從結尾填充至指定長度。
函數格式
str_ljust(value, width, fillchar)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
width
Number
是
填充後字串的總長度。
fillchar
任意(自動轉為String)
否
填充字元,預設為空白格。
返回結果
返回處理後的字串。
說明如果指定的填充後字串長度小於原字串長度則直接返回原字串。
函數樣本
樣本1
原始日誌
content: this is ljust
加工規則
e_set("str_ljust", str_ljust(v("content"), 20, "*"))
加工結果
content: this is ljust str_ljust: this is ljust*******
樣本2
原始日誌
center: this is ljust
加工規則
e_set("str_ljust", str_ljust(v("center"), 20,))
加工結果
center: this is ljust str_ljust: this is ljust
樣本3:width寬度沒有字串長,則直接返回原字串。
原始日誌
center: this is ljust
加工規則
e_set("str_ljust", str_ljust(v("center"),10, "*"))
加工結果
center: this is ljust str_ljust: this is ljust
str_rjust
用指定字元將原字串從開頭填充至指定長度。
函數格式
str_rjust(value, width, fillchar)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被修改的原字串。
width
Number
是
填充後字串的總長度。
fillchar
任意(自動轉為String)
否
填充字元,預設為空白格。
返回結果
返回處理後的字串。
說明如果指定的填充後字串長度小於原字串長度則直接返回原字串。
函數樣本
原始日誌
center: this is rjust
加工規則
e_set("str_rjust", str_rjust(v("center"), 20, "*"))
加工結果
center: this is rjust str_rjust: *******this is rjust
str_zip
將兩個值或運算式的字串進行拆分,然後再合并成一個字串。
函數格式
str_zip(value1, value2, combine_sep=None, sep=None, quote=None, lparse=None, rparse=None)
參數說明
參數名稱
資料類型
是否必填
說明
value1
任意(自動轉為String)
是
需要被合并的值。
value2
任意(自動轉為String)
是
需要被合并的值。
combine_sep
任意(自動轉為String)
否
合并時元素之間的合并標識,預設為
#
。sep
任意(自動轉為String)
否
合并後元素之間的分隔字元,僅支援單個字元,預設為
,
。quote
任意(自動轉為String)
否
將合并後的元素括起來的字元,當值包含分隔字元時需要使用,預設為
"
。lparse
任意(自動轉為String)
否
指定
value1
中元素之間的分隔字元和引用符,預設分隔符號為,
,預設引用符為"
。格式為lparse=(',', '"')
。說明引用符優先順序高於分隔字元。
rparse
任意(自動轉為String)
否
指定
value2
中元素之間的分隔字元和引用符,預設分隔符號為,
,預設引用符為"
。格式為rparse=(',', '"')
。說明引用符優先順序高於分隔字元。
返回結果
返回合并後的字串。
函數樣本
樣本1
原始日誌
website: wwww.aliyun.com escape_name: o
加工規則
e_set("combine", str_zip(v("website"), v("escape_name"), combine_sep="@"))
加工結果
website: wwww.aliyun.com escape_name: o combine: wwww.aliyun.com@o
樣本2
原始日誌
website: wwww.aliyun.com escape_name: o
加工規則
e_set("combine", str_zip(v("website"), v("escape_name")))
加工結果
combine:wwww.aliyun.com#o escape_name:o website:wwww.aliyun.com
樣本3:sep的使用。
原始日誌
f1: a,b,c f2: x,y,z
加工規則
e_set("combine", str_zip(v("f1"), v("f2"), sep="|"))
加工結果
f1: a,b,c f2: x,y,z combine: a#x|b#y|c#z
樣本4:quote的使用。
原始日誌
f1: "a,a", b, "c,c" f2: x, "y,y", z
加工規則
e_set("combine", str_zip(v("f1"), v("f2"), quote='|'))
加工結果
f1: "a,a", b, "c,c" f2: x, "y,y", z combine: |a,a#x|,|b#y,y|,|c,c#z|
樣本5:不同長度的值。
原始日誌
f1: a,b f2: x,y,z
加工規則
e_set("combine", str_zip(v("f1"), v("f2")))
加工結果
f1: a,b f2: x,y,z combine: a#x,b#y
樣本6:lparse和rparse的使用。
原始日誌
f1: a#b#c f2: x|y|z
加工規則
e_set("combine", str_zip(v("f1"), v("f2"), lparse=("#", '"'), rparse=("|", '"')))
加工結果
f1: a#b#c f2: x|y|z combine: a#x,b#y,c#z
樣本7:lparse和rparse的使用。
原始日誌
f1: |a,a|, b, |c,c| f2: x, #y,y#, z
加工規則
e_set("combine", str_zip(v("f1"), v("f2"), lparse=(",", '|'), rparse=(",", '#')))
加工結果
f1: |a,a|, b, |c,c| f2: x, #y,y#, z combine: "a,a#x","b#y,y","c,c#z"
str_isalnum
判斷字串是否僅由字母和數字組成。
函數格式
str_isalnum(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
content: 13
加工規則
e_set("str_isalnum", str_isalnum(v("content")))
加工結果
content: 13 str_isalnum: True
str_isalpha
判斷字串是否僅由字母組成。
函數格式
str_isalpha(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
content: 13
加工規則
e_set("str_isalpha", str_isalpha(v("content")))
加工結果
content: 13 str_isalpha: False
str_isascii
判斷字串是否在ASCII中。
函數格式
str_isascii(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
content: asw123
加工規則
e_set("str_isascii", str_isascii(v("content")))
加工結果
content: asw123 str_isascii: True
str_isdecimal
判斷字串是否僅包含十進位字元。
函數格式
str_isdecimal(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
樣本1
原始日誌
welcome: 你好
加工規則
e_set("str_isdecimal", str_isdecimal(v("welcome")))
加工結果
welcome: 你好 str_isdecimal: False
樣本2
原始日誌
num: 123
加工規則
e_set("str_isdecimal", str_isdecimal(v("num")))
加工結果
num: 123 str_isdecimal: True
str_isdigit
判斷字串是否僅由數字組成。
函數格式
str_isdigit(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
content: 13
加工規則
e_set("str_isdigit", str_isdigit(v("content")))
加工結果
content: 13 str_isdigit: True
str_isidentifier
判斷字串是否是有效Python標識符,也可以用來判斷變數名是否合法。
函數格式
str_isidentifier(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
class: class
加工規則
e_set("str_isidentifier", str_isidentifier(v("class")))
加工結果
class: class str_isidentifier: True
str_islower
判斷字串是否由小寫字母組成。
函數格式
str_islower(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
lower: asds
加工規則
e_set("str_islower", str_islower(v("lower")))
加工結果
lower: asds str_islower: True
str_isnumeric
判斷字串是否由數字組成。
函數格式
str_isnumeric(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
num: 123
加工規則
e_set("str_isnumeric", str_isnumeric(v("num")))
加工結果
num: 123 str_isnumeric: True
str_isprintable
判斷字串中是否所有字元都是可列印字元。
函數格式
str_isprintable(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
content: vs;,.as
加工規則
e_set("str_isprintable", str_isprintable(v("content")))
加工結果
content: vs;,.as str_isprintable: True
str_isspace
判斷字串是否僅由空白字元組成。
函數格式
str_isspace(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
space: as afsd
加工規則
e_set("str_isspace", str_isspace(v("space")))
加工結果
space: as afsd str_isspace: False
str_istitle
判斷字串中所有單詞的拼字首字母是否為大寫,且其他字母為小寫。
函數格式
str_istitle(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
title: Alex Is A Boy
加工規則
e_set("str_istitle", str_istitle(v("title")))
加工結果
str_istitle:true title:Alex Is A Boy
str_isupper
判斷字串中所有的字母是否都為大寫。
函數格式
str_isupper(value)
參數說明
參數名稱
資料類型
是否必填
說明
value
任意(自動轉為String)
是
需要被檢測的字串。
返回結果
返回True或False。
函數樣本
原始日誌
content: ASSD
加工規則
e_set("str_isupper", str_isupper(v("content")))
加工結果
content: ASSD str_isupper: True
str_uuid
隨機產生UUID。
函數格式
str_uuid(lower=True)
參數說明
參數名稱
資料類型
是否必填
說明
lower
Boolean
否
產生的UUID中的字母是否是小寫。預設為True表示小寫。
返回結果
返回UUID碼。
函數樣本
樣本1
原始日誌
content: I am Iron man
加工規則
e_set("UUID", str_uuid())
加工結果
content: I am Iron man UUID: e9fcd6b0-b970-11ec-979d-0f7041e65ab8
樣本2
原始日誌
content: I am Iron man
加工規則
e_set("UUID", str_uuid(lower=False))
加工結果
content: I am Iron man UUID: 0649211E-B971-11EC-A258-E71F0A2930C5