數(shù)據(jù)分析函數(shù)字典第三期:字符串函數(shù)

1 評論 5370 瀏覽 8 收藏 12 分鐘

本文筆者為大家介紹了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部分組成:

  1. %:是起始控制符,表示從此處開始的字符串為格式化控制參數(shù)
  2. 0::表示控制格式化第幾個(gè)數(shù),此處”0:”表示控制第一個(gè)數(shù),例如”5:”表示控制第5個(gè)數(shù)。此操作符也可以不寫,系統(tǒng)將采用默認(rèn)模式,默認(rèn)的是從左往右順序格式化
  3. ,:匹配”,”和”,”,表示需要控制格式化輸出中顯示千分符,如果不寫”,”和”,”則表示不顯示千分符
  4. 6:表示需要確保輸出的位數(shù)為6位,位數(shù)不足前面以0補(bǔ)足(該控制一般應(yīng)只對整數(shù)使用)。如對于數(shù)字1則會輸出為000001(特別的,對于小數(shù),則表示控制整個(gè)數(shù)的位數(shù),最好不要在控制小數(shù)時(shí)使用此操作符)
  5. .3: 表示控制小數(shù)位輸出的個(gè)數(shù),如.3表示顯示3位小數(shù),對于太大的數(shù),小數(shù)位盡量不要控制
  6. 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é)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 這帖子是咋通過審核的? ??

    來自廣東 回復(fù)