润乾报表-字符串函数

时间:2021-12-15 23:23:12

字符串函数

1.asc()

函数说明: 取字符串指定位置的字符的unicode值,如果是ascii字符则返回ascii码 (一般来说,英文字符及其扩展字符都是ascii字符,中文、日文、韩文等 亚洲字符都是unicode字符,ascii字符为8位,unicode字符为16位(其中有3位用于标志字符类型))

相关函数:char() 根据给定的unicode编码或者ascii码取得其对应的字符

语法: asc( string{, nPos} )

参数说明: string 给定的字符串 nPos 整数表达式,缺省为0

返回值: 整数


示例:

例1:=asc("def") 返回:100 (ascii)

例2:=asc("def",1) 返回:101 (ascii)

例3:=asc("中国") 返回:20013 (unicode)

例4:=asc("中国",1) 返回:22269 (unicode)


2.char()

函数说明: 根据给定的unicode编码或者ascii码取得其对应的字符(一般来说,英文字符及其扩展字符都是ascii字符,中文、日文、韩文等亚洲字符都是unicode字符,ascii字符为8位,unicode字符为16位(其中有3位用于标志字符类型))

相关函数:asc() 取字符串指定位置的字符的unicode值,如果是ascii字符则返回ascii码 语法: char( int )

参数说明: int 整数表达式,unicode编码或者ascii编码

返回值: 字符型


示例: 

例1:=char(22269) 返回:'国'

例2:=char(101)        返回:'e'


3.hexstring()

函数说明: 将数据或者byte数组转换为十六进制字符(数据当做无符号数据处理)

语法: hexstring(dataExp{,spaceExp})

参数说明: dataExp 数据或者byte数组表达式 spaceExp 布尔型,数据之间是否用空格隔开,true表示要,false表示不要

返回值: 字符型,十六进制字符


示例:

例1:hexstring(12345678,true) 返回:"BC 61 4E"

例2:hexstring(12345678,false) 返回:"BC614E"

例3:hexstring(12345678) 返回:"BC614E"


4.chn()

函数说明: 将一个整数转化成汉字大写 语法: chn( intExp{, abbrivateExp{, uppercaseExp }} )

参数说明: intExp 整数表达式 abbrivateExp 为true时采用亿万千百十的写法,为false时采用一二三四五六七的写法,缺省为false uppercaseExp 为false时采用零一二三四五六七八九十百千,为true时采用壹贰叁肆伍陆柒捌玖拾佰仟,缺省为false

返回值: 字符型


示例:

例1:chn(1234567,true) 返回:"一百二十三万四千五百六十七"

例2:chn(1234567) 返回:"一二三四五六七"

例3:chn(1234567,true,true) 返回:"壹佰贰拾叁万肆仟伍佰陆拾柒"

例4:chn(1234567,,false) 返回:"一二三四五六七"


5.lower()

函数说明: 将字符串转成小写

相关函数:upper() 把字符串转成大写 wordCap() 将字符串每一个单词的首字母大写

语法: lower(s)

参数说明: s 待转成小写的字符串

返回值: 字符型


示例:

例1:lower("ABCdef") 返回:"abcdef"

例2:lower("defABC") 返回:"defabc"


6.upper()

函数说明: 把字符串转成大写

相关函数:lower() 把字符串转成小写 wordCap() 将字符串每一个单词的首字母大写

语法: upper(s) 参数说明: s 待转成大写的源串

返回值: 字符串型


示例:

例1:upper("ABCdef") 返回:"ABCDEF"

例2:upper("abcDEF") 返回:"ABCDEF"


7.wordCap()

函数说明: 将字符串每一个单词的首字母大写

相关函数:upper() 把字符串转成大写 lower() 把字符串转成小写

语法: wordCap(s)

参数说明: s 需要将单词首字母大写的源串

返回值: 字符串型


示例:

例1:wordCap("I love my country") 返回:"I Love My Country"

例2:wordCap("she is beautiful") 返回:"She Is Beautiful"


8.rmb()

函数说明: 将浮点数(只支持小数点后两位)转换人民币大写格式

语法: rmb( numberExp )

参数说明: numberExp 数据值表达式

返回值: 字符型


示例:

例1:rmb(123456.89) 返回:"壹拾贰万叁仟肆佰伍拾陆圆捌角玖分"


9.split()

函数说明: 将字符串按分割符分割成多个子串

语法: split( srcExp,sepExp{,boolExp})

参数说明: srcExp 待分割的字符串表达式 sepExp 分隔符表达式 boolExp bool型,是否解析引号、括号里的分隔符, 为true时解析,为false时不解析,缺省为false

返回值: 分割后的字符串列表


示例:

例1:=split("ab;cd;ef;tg;tt",";") 返回数组:["ab","cd","ef","tg","tt"]

例2:=split("ab;c'd;e'f;tg;tt",";",false) 返回数组:["ab","c'd;e'f","tg","tt"] 不解析引号里的分隔符

例3:=split("ab;c[d;e]f;tg;tt",";",false) 返回数组:["ab","c[d;e]f","tg","tt"] 不解析括号里的分隔符

例4:=split("ab;c'd;e'f;tg;tt",";",true) 返回数组:["ab","c'd","e'f","tg","tt"] 解析引号里的分隔符

例5:=split("ab;c[d;e]f;tg;tt",";",true) 返回数组:["ab","c[d","e]f","tg","tt"] 解析括号里的分隔符


10.rplc()

函数说明: 将字符串src的子字符串a变为字符串b,

语法: rplc( srcExp,subStrA,rplcStrB{,boolExp})

参数说明: srcExp 源字符串 subStrA 源字符串的子字符串 rplcStrB 将要替换成的字符串 boolExp 引号里的字符是否需要变换,缺省为true

返回值: 替换后的字符串


示例:

例1:rplc("abc'abc'def","a","中国") 返回:"中国bc'中国bc'def"

例2:rplc("abc'abc'def","a","中国",false) 返回:"中国bc'abc'def"

例3:rplc("abc'abc'def","a","中国",true) 返回:"中国bc'中国bc'def"


11.left()

函数说明: 获得源字符串左边的子串

相关函数:mid() 获得源字符串中间的子串 right() 获得源字符串右边的子串

语法: left(string, n)

参数说明: string 获得子串的源串 n 获得子串的长度

返回值: 字符型


示例:

例1:left("abcdefg",3) 返回:"abc"


12.right()

函数说明: 获得字符串右边的子串

相关函数:left() 获得源字符串左边的子串 mid() 获得源字符串中间的子串

语法: right(s, n)

参数说明: s 待获得子串的源串 n 获得子串的长度

返回值: 字符串型


示例:

例1:right("abced",2) 返回:"ed"


13.mid()

函数说明: 返回字符串的子串

相关函数:left() 获得源字符串左边的子串 right() 获得源字符串右边的子串

语法: mid(s, start{, end})

参数说明: s 待获得子串的源串 start 获得子串的起始位置 end 获得子串的结束位置,缺省为源串的长度

返回值: 字符串型


示例:

例1:mid("abcde",0) 返回:abcde

例2:mid("abcde",1,2) 返回:b

例3:mid("abcde",3) 返回:de


14.pos()

函数说明: 查找母串中子串的位置

语法: pos(s1, s2{, begin})

参数说明: s1 待查找子串的母串 s2 被查找的子串 begin 查找的起始位置,缺省为0

返回值: 整数


示例:

例1:pos("abcdef","def") 返回:3

例2:pos("abcdefdef","def",5) 返回:6


15.fill()

函数说明: 获得n个s拼成的字符串

相关函数:space() 产生一个空串

语法: fill(s, n)

参数说明: s 用于拼成新串的源串 n 新串中包含源串的个数

返回值: 字符型


示例:

例1:fill("1 ",10) 返回:"1 1 1 1 1 1 1 1 1 1 "

例2:fill("a b",10) 返回:"a ba ba ba ba ba ba ba ba ba b"


16.space()

函数说明: 产生一个空串

相关函数:fill() 获得n个s拼成的字符串 

语法: space(n)

参数说明: n 生成空串的长度

返回值: 字符串型,获得n个空格拼成的字符串


示例:

例1:space(5) 返回:" "


17.ltrim()

函数说明: 去掉字符串左边的空格

相关函数:rrim() 去掉字符串右边的空格 trim() 去掉字符串左右的空串

语法: ltrim(s)

参数说明: s 准备去掉左边空格的源串

返回值: 字符串型


示例:

例1:ltrim(" abc def ") 返回:"abc def "

例2:ltrim("def abc ") 返回:"def abc "


18.rtrim()

函数说明: 去掉字符串右边的空格

相关函数:ltrim() 去掉字符串左边的空格 trim() 去掉字符串左右的空串

语法: rtrim(s)

参数说明: s 准备去掉右边空格的源串

返回值: 字符串型


示例:

例1:rtrim(" abc def ") 返回:" abc def"

例2:rtrim("def abc ") 返回:"def abc"


19.trim()

函数说明: 去掉字符串左右的空串

相关函数:rtrim() 去掉字符串右边的空格 ltrim() 去掉字符串左边的空格 语法: trim(s)

参数说明: s 待去掉左右空串的源串

返回值: 字符串型


示例:

例1:trim(" abc ") 返回:"abc"

例2:trim(" a bc ") 返回:"a bc"


20.rmQuote()

函数说明: 删除表达式里的引号,包括单引号和双引号

语法: rmQuote(exp)

参数说明: exp 表达式

返回值: 字符串


21.len()

函数说明: 计算字符串的长度

语法: len(s)

参数说明: s 待计算长度的字符串

返回值: 整数


示例:

例1:len("adfg") 返回:4

例2:len(" abd ") 返回:7


22.like()

函数说明: 判断字符串是否匹配格式串(*匹配0个或多个字符,?匹配单个字符)

语法: like( stringExp, formatExp{, ignoreCase} )

参数说明: stringExp 字符串的表达式 formatExp 格式串的表达式 ignoreCase 布尔值的表达式,缺省为false,表示匹配时大小写敏感,否则忽略大小写

返回值: 布尔型


示例:

例1:like( "abc123", "abc*" ) 返回:true

例2:like( "abc123", "abc1?3" ) 返回:true

例3:like( "abc123", "abc*34" ) 返回:false

例4:like( "abc123", "ABC*" ) 返回:false

例5:like( "abc123", "ABC*", true ) 返回:true


23.link()

函数说明: 生成一个url

语法: link(serviceName{,jspArgNames,jspArgValues{,reportArgNames,reportArgValues}})

参数说明: serviceName 服务名称 jspArgNames jsp参数名称数组,可为空,元素类型需为字符串型 jspArgValues jsp参数值数组,需与jspArgNames元素个数相同 reportArgNames 报表参数名称数组,可为空,元素类型需为字符串型 reportArgValues 报表参数值数组,需与reportArgNames元素个数相同

返回值: 字符串型


示例:

例1:link("ServiceName",list("jspArg1","jspArg2"), list("value1",2),"count",5) 返回ServiceName?jasArg1=value1&jspArg2=2&params=count=5