數據分析函數字典第三期:字符串函數

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

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

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

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 這帖子是咋通過審核的? ??

    來自廣東 回復