數據分析函數字典第三期:字符串函數
本文筆者為大家介紹了BI函數字典中的23個字符串函數:CHAR、CLEAN、CODE、FIND、FORMAT、LEFT……
一、CHAR
定義:
char(I):將一數字格式化為指定格式后輸出
參數:
I:用整數表示的字符的ASCII碼
示例:
根據ASCII碼返回單個字符的串,返回值為單個字符
CHAR(65)=”A”
二、 CLEAN
定義:
CLEAN(C):將串中的不可見字符去掉。
參數:
C:指定的字符串
示例:
去掉不可見字符后的串,返回值為字符串
clean(” 我 是 中國人 “)=”我是中國人”
三、CODE
定義:
CODE(C):返回串中第一個字符的ASCII碼
參數:
C:指定的字符串
示例:
返回指定串中第一個字符的ASCII碼,返回值為整數
CODE(“abc”)=97
四、FIND
定義:
FIND(C1,C2):在串C2中查找子串C1,并返回子串第一次出現的位置,(0代表第一個字符);如果沒找到,則返回-1。與Search不同,FIND區分大小寫。
參數:
C1,C2均表示字符串,其中C1表示要查找的子串
示例:
在串C2中查找子串C1,并返回子串第一次出現的位置,返回值為整數
FIND(“AB”,”AAABBBBB”)=2
FIND(“Ab”,”AAABBBBB”)=-1
五、FORMAT
定義:
FORMAT(C,N):將一數字格式化為指定格式后輸出
參數:
C:需要格式化的字符串的格式,完整的格式為”%0:,6.3f”,各部分說明見示例。
N:要格式化為指定格式的數值
示例:
將一數字格式化為指定格式,返回值為字符串或數值。
format(‘%0:,6.3f’,1245.5634)=1245.563 將浮點數num轉換為字符串,并指定小數點后位數。
詳細說明:
format函數格式化數字輸出的操作符由6部分組成:
- %:是起始控制符,表示從此處開始的字符串為格式化控制參數
- 0::表示控制格式化第幾個數,此處”0:”表示控制第一個數,例如”5:”表示控制第5個數。此操作符也可以不寫,系統將采用默認模式,默認的是從左往右順序格式化
- ,:匹配”,”和”,”,表示需要控制格式化輸出中顯示千分符,如果不寫”,”和”,”則表示不顯示千分符
- 6:表示需要確保輸出的位數為6位,位數不足前面以0補足(該控制一般應只對整數使用)。如對于數字1則會輸出為000001(特別的,對于小數,則表示控制整個數的位數,最好不要在控制小數時使用此操作符)
- .3: 表示控制小數位輸出的個數,如.3表示顯示3位小數,對于太大的數,小數位盡量不要控制
- f’: 匹配字符,該字符為類型轉換字符,目前支持”d”(表示整數)”f”(表示小數)”s”(表示字符串),使用此操作符表示將輸出數轉換為指定類型輸出。
例如:
函數輸出說明:
format(‘%.3f’,1.0)1.000 控制小數位數
format(‘%3d’,1) 0001 整數位不足補0
format(‘%,f’,1111111111111.1111) 1,111,111,111,111.111 顯示千分符
format(‘%d’,12.5) 13 小數轉換為整數(四舍五入)
format(‘%0:3d %1:.2f’,12.5,10.4)0013 10.40 多數字控制(從0開始,”0:”表示控制第一個數字)
format(‘%5.3f’,1.0) 01.000 最好不要控制小數位數的同時控制總的位數
format(‘%.3f’,123234234234325345.5634)123234234234325344.000 太大數時,小數可能不準
六、LEFT
定義:
LEFT(C,I):返回一字符串左邊I個字符組成的子串,其中I為整數
參數:
C:指定的字符串
I:要返回的字符的個數,為整數
示例:
返回一字符串左邊I個字符組成的子串,返回值為字符串
LEFT(“ABCDEF”,3)=”ABC”
七、LEN
定義:
LEN(C):返回串的長度。如果字符是漢字,則每個漢字的長度為1。
參數:
C:指定的字符串
示例:
返回串的長度,返回值為整數
LEN(“ABCDE”)=5 LEN(“武漢”)=2
八、LOWER
定義:
LOWER(C):將串變成小寫
參數:
C:指定的字符串
示例:
將串變成小寫,返回值為字符串
LOWER(“AbCd1″)=”abcd1”
九、IN
定義:
IN(C1,C2):判斷C1是否是C2的子串
參數:
C1、C2是二個字符串
示例:
判斷C1是否是C2的子串,如果C1是C2的子串,則返回TRUE
In(“00″,”00 01 02”)=TRUE
十、MID
定義:MID(str,I, n)
返回串中從I開始的n個字符的子串,其中:I,n都為整數,串的基數n從0開始。
參數:
Str: 指定的字符串
I: 返回的子串的起始位置,從0開始
N: 返回的子串中字符的數據量
示例:
返回串中從I開始的n個字符的子串。其中:I,n都為整數
MID(“ABCDEF”,2,3)=”CDE”
十一、MT
定義:
MT(C1,C2):判斷C1與C2是否模式匹配
參數:
C1: 參數C1為要判斷的字符串。
C2:?參數C2為模式匹配的正則表達式,*表示任意字符串,?表示任意單個字符。如果有多種模式,可以用逗號分割。
示例:
判斷C1與C2是否模式匹配,匹配返回TRUE,否則返回FALSE
十二、REPLACE
定義:
REPLACE(C1,C2,I1,I2):將串C1從I1開始的I2個字符替換成新串C2。
參數:
C1、C2: 指定的字符串,其中C2為要替換的子串
N1: 指字符串的起始位置,串的起始位置從0算起,為整數
N2: 指串C1中要替換掉的字符的個數,為整數
示例:
將串C1從I1開始的I2個字符替換成新串C2
十三、REPT
定義:
REPT(C,I):將一字符重復若干次,變成一新串。
參數:
C: 指定的字符串
I: 串重復的次數,為整數
示例:
將一串重復若干次,變成一新串
REPT(“A”,5)=”AAAAA”
十四、Right
定義:
right(C,I):返回一字符串右邊I個字符組成的子串,其中I為整數。
參數:
C: 指定的字符串
I: 要返回的字符的個數,為整數
示例:
返回一字符串右邊I個字符組成的子串,返回值為字符串
RIGHT(“ABCDEF”,3)=”DEF”
十五、RMBDX
定義:
rmbdx(N):將數值轉變成大寫人民幣串。
參數:
N: 要轉換的數值
示例:
將指定的數值轉變成大寫人民幣串
RMBDX(1203.45)=”壹仟貳佰零叁元肆角伍分整”
十六、Same
定義:
same(C1,C2):判斷兩串是否相等,不區分大小寫
參數:
C1、C2: 要比較的兩個字符串
示例:
判斷兩串是否相等,不區分大小寫。如果相等,返回TRUE,否則返回FALSE
SAME(“aBc”,”ABC”)=TRUE
十七、Search
定義:search(C1,C2)
在串C2中查找子串C1,并返回子串第一次出現的位置,(0代表第一個字符)。如果沒找到,則返回-1。與Find不同,SEARCH不區分大小寫。
參數:
C1、C2: 兩個字符串,C1為要查找的子串
示例:
在串C2中查找子串C1,并返回子串第一次出現的位置。返回值為整數
SEARCH(“AB”,”AAABBBBB”)=2SEARCH(“Ab”,”AAABBBBB”)=2
十八、STR
定義:
STR(N):將數值變成串
參數:
N:要轉換成串的數值
示例:
將數值變成串
STR(1)=”1″
十九、Strcat
定義:
STRCAT(C1,C2,…):將所有串合并。該合并不受255長度限制
參數:
C1、C2…要合并的字符串
示例:
將所有串合并后,返回一字符串
STRCAT(“AB”,” CD”,” EF”)=”AB CDEF”
二十、Substitute
定義:substitute(str,oldsub,newsub)
將串中的oldsub子串換成另一newsub子串。不管子串出現多少次,全部換掉。
參數:
Str: 指定的字符串
Oldsub: 字符串將要替換的子串
Newsub: 用于替換的子串
示例:
將串中的oldsub子串換成另一newsub子串
Substitute(“AbCdEFCdEG”,”CdE”,”123″)=”Ab123F123G”
二十一、Trim
定義:
trim(c):將串中的頭尾空格及TAB鍵去掉
參數:
C: 指定的字符串
示例:
將串中的頭尾空格及TAB鍵去掉
TRIM(” AB C “)=”AB C”
二十二、value
定義:
value(C):將字符串轉換成數值。如果轉換不成功,則返回Err
參數:
C: 要轉換的字符串
示例:
將字符串轉換成數值
VALUE(“12.34”)=12.34
二十三、upper
定義:
upper(C):將串變成大寫
參數:
C: 要變成大寫的字符串
示例:
將下面的串變成大寫
UPPER(“AbCd1″)=”ABCD1”
本文由@數據分析獅 原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash, 基于CC0協議。
這帖子是咋通過審核的? ??