数据分析函数字典第三期:字符串函数
本文笔者为大家介绍了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协议。
这帖子是咋通过审核的? 🙄