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