本部分介绍了报表中常用字符串函数的函数说明、语法、参数说明、返回值、选项以及示例。
函数说明:
取字符串指定位置的字符的unicode值,如果是ascii字符则返回ascii码
(一般来说,英文字符及其扩展字符都是ascii字符,中文、日文、韩文等亚洲字符都是unicode字符,ascii字符为8位,unicode字符为16位(其中有3位用于标志字符类型))
相关函数:char() 根据给定的unicode编码或者ascii码取得其对应的字符
语法:
asc( string{, nPos} )
参数说明:
string |
给定的字符串 |
nPos |
整数表达式,缺省为1 |
返回值:
整数
示例:
例1:asc("def") 返回:100 (ascii)
例2:asc("def",2) 返回:101 (ascii)
例3:asc("中国") 返回:20013 (unicode)
例4:asc("中国",2) 返回:22269 (unicode)
函数说明:
根据给定的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'
函数说明:
获得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"
函数说明:
判定字符串是否是全由字母构成,如果s为整数,则作为ascii 码判断对应的字符是否为字母。
语法:
isalpha(s)
参数说明:
s |
字符串/数值表达式 |
返回值:
布尔型
示例:
例1:isalpha("abc") 返回:true
例2:isalpha(97) 返回:true
例3:isalpha("@#$") 返回:false
例4:isalpha("1@23") 返回:false
例5:isalpha("a@23") 返回:false
函数说明:
判定字符串string是否全由数字构成,如果string为整数,则作为ascii 码,判断对应的字符是否为数字。
语法:
isdigit(string)
参数说明:
string |
字符串/数值表达式 |
返回值:
布尔型
示例:
例1:isdigit("123") 返回:true
例2:isdigit(123) 返回:false
例3:isdigit("abc") 返回:false
例4:isdigit("123ss") 返回:false
函数说明:
判定字符串是否全由小写字母构成,如果string为整数,则作为ascii 码,判断其对应的字符是否为小写字母
语法:
islower(string)
参数说明:
string |
字符串/数值表达式 |
返回值:
布尔型
示例:
例1:islower ("dgfdsgf") 返回:true
例2:islower (97) 返回:true
例3:islower ("dsfaAFD") 返回:false
例4:islower ("97ffdsf") 返回:false
函数说明:
判定字符串是否全由大写字母构成,如果string为整数,则作为ascii 码,判断其对应的字符是否为大写字母。
语法:
isupper ( string )
参数说明:
string |
字符串/数值表达式 |
返回值:
布尔型
示例:
例1:isupper ("ADSFDGKJ") 返回:true
例2:isupper (85) 返回:true
例3:isupper ("SDsdsSDAS") 返回:false
例4:isupper ("8ASDS7") 返回:false
函数说明:
获得源字符串string左边的子串, 其长度为n。当n<0时,n的数值为string串的长度加n值。
相关函数:
mid() 获得源字符串中间的子串
right() 获得源字符串右边的子串
语法:
left(string, n)
参数说明:
string |
获得子串的源串 |
n |
获得子串的长度 |
返回值:
字符型
示例:
例1:left("abcdefg",3) 返回:"abc"
例2:left("abcdefg",-3) 返回:"abcd"
函数说明:
计算字符串s的长度,字符集cs缺省为GB2312,省略cs时,计算s的unicode长度
语法:
len(s,cs)
参数说明:
s |
待计算长度的字符串 |
cs |
字符集,可省略 |
返回值:
整数
示例:
例1:len("adfg") 返回:4
例2:len(" abd ") 返回:7
例3:len("报表") 返回:4
例4:len("报表","GB2312") 返回:4
例5:len("报表","UTF-8") 返回:6
函数说明:
判断字符串是否匹配格式串(*匹配0个或多个字符,?匹配单个字符),可以通过转义符匹配"*", 例如:like ("abc*123", "abc\*") 结果为true.
语法:
like( stringExp, formatExp)
参数说明:
stringExp |
字符串的表达式 |
formatExp |
格式串的表达式 |
返回值:
布尔型
选项:
@c |
表示匹配时忽略大小写,否则大小写敏感 |
示例:
例1:like( "abc123", "abc*" ) 返回:true
例2:like( "abc123", "abc1?3" ) 返回:true
例3:like( "abc123", "abc*34" ) 返回:false
例4:like( "abc123", "ABC*" ) 返回:false
例5:like("abc*123", "abc\*") 返回:true
例6:like@c("abc123", "ABC*") 返回:true
函数说明:
生成一个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¶ms=count=5
函数说明:
将字符串转成小写
相关函数:
upper() 把字符串转成大写
wordcap() 将字符串每一个单词的首字母大写
语法:
lower(s)
参数说明:
s |
待转成小写的字符串 |
返回值:
字符型
选项:
@q |
引号内的不变 |
示例:
例1:lower("ABCdef") 返回:"abcdef"
例2:lower("defABC") 返回:"defabc"
例3:lower@q("\'AD\'") 返回:"'AD'"
函数说明:
返回字符串s中从start位置起长度为len的子串
相关函数:
left() 获得源字符串左边的子串
right() 获得源字符串右边的子串
语法:
mid(s, start{, end})
参数说明:
s |
待获得子串的源串 |
start |
获得子串的起始位置 |
end |
获得子串的结束位置,缺省为起始位置到源串串尾的长度 |
返回值:
字符串型
示例:
例1:mid("abcde",1) 返回:abcde
例2:mid("abcde",1,2) 返回:ab
例3:mid("abcde",3) 返回:cde
函数说明:
查找母串s1中起始位置为begin的子串s2的位置,找不到返回null
语法:
pos(s1, s2{, begin})
参数说明:
s1 |
待查找子串的母串 |
s2 |
被查找的子串 |
begin |
查找的起始位置,缺省为1 |
选项:
@z |
由begin开始往前查找,缺省从begin开始往后查找 |
返回值:
整数
示例:
例1:pos("abcdef","def") 返回:4
例2:pos("abcdefdef","def",5) 返回:7
例3:pos("abcdef","defa") 返回:null
例4:pos@z("abcdeffdef ","def",7) 返回:4
函数说明:
修改源字符串的子串
语法:
replace( src,a,b)
参数说明:
src |
源字符串 |
a |
源字符串的子字符串 |
b |
目标子字符串 |
返回值:
替换后的字符串
选项:
@q |
引号里的字符不需要进行替换 |
示例:
例1:replace("abc'abc'def","a","China") 返回:"Chinabc'Chinabc'def"
例2:replace ("abc'abc'def","a","China") 返回:"Chinabc'Chinabc'def"
例3:replace@q ("abc'abc'def","a","China") 返回:"Chinabc'abc'def"
函数说明:
获得字符串s右边长度为n的子串。当n<0时,n的数值为string串的长度加n值。
相关函数:
left() 获得源字符串左边的子串
mid() 获得源字符串中间的子串
语法:
right(s, n)
参数说明:
s |
待获得子串的源串 |
n |
获得子串的长度 |
返回值:
字符串型
示例:
例1:right("abced",2) 返回:"ed"
例2:right("abced",-2) 返回:"ced"
函数说明:
删除表达式里的转义符和最外层引号,包括单引号和双引号
语法:
rmquote(exp)
参数说明:
exp |
表达式 |
返回值:
字符串
示例:
例1:rmquote(arg1) 返回:s'd'sdwewe,变量arg1的值为"s'd'sd\nwewe"
函数说明:
产生一个空串
相关函数:fill() 获得n个s拼成的字符串
语法:
space(n)
参数说明:
n |
生成空串的长度 |
返回值:
字符串型,获得n个空格拼成的字符串
示例:
例1:space(5) 返回:" "
函数说明:
将字符串按分割符分割成多个子串
语法:
split( srcExp,sepExp)
参数说明:
srcExp |
待分割的字符串表达式 |
sepExp |
分隔符表达式 |
返回值:
分割后的字符串列表
选项:
@q |
解析引号、括号里的分隔符,缺省不解析 |
@a |
保留子串左右两边的空串,缺省去掉子串左右两边的空串 |
示例:
例1:split("ab;cd;ef;tg;tt",";")
返回数组:["ab","cd","ef","tg","tt"]
例2:split("ab;c'd;e'f;tg;tt",";")
返回数组:["ab","c'd;e'f","tg","tt"] 不解析引号里的分隔符
例3:split("ab;c[d;e]f;tg;tt",";")
返回数组:["ab","c[d;e]f","tg","tt"] 不解析括号里的分隔符
例4:split@q("ab;c'd;e'f;tg;tt",";")
返回数组:["ab","c'd","e'f","tg","tt"] 解析引号里的分隔符
例5:split@q("ab;c[d;e]f;tg;tt",";")
返回数组:["ab","c[d","e]f","tg","tt"] 解析括号里的分隔符
例6:split@a(" ab ,cd,ef, tg,tt ",",")
返回数组:[" ab ","cd","ef"," tg","tt "] 保留子串左右两边的空串
函数说明:
去掉字符串左右的空串
语法:
trim(s)
参数说明:
s |
待去掉左右空串的源串 |
返回值:
字符串型
选项:
@l |
去掉字符串左边的空格,参数为字母l |
@r |
去掉字符串s右边的空格 |
|
缺省为同时去掉左右两边的空串去掉 |
@a |
去除所有多余空白符。s串内包含一个或连续多个空白符时只保留一个,符号与文字间的空白符删除,引号内空白符保留。 |
示例:
例1:trim(" abc ") 返回:"abc"
例2:trim(" a bc ") 返回:"a bc"
例3:trim@l(" def abc ") 返回: "def abc "
例4:trim@r(" abc def ") 返回:" abc def"
例5:trim@a("a bc") 返回:"a bc"
例6:trim@a("a\' bc\' ") 返回:"a' bc'"
例7:trim@a("abc !") 返回:"abc!"
函数说明:
把字符串转成大写
相关函数:
lower() 把字符串转成小写
wordcap() 将字符串每一个单词的首字母大写
语法:
upper(s)
参数说明:
s |
待转成大写的源串 |
返回值:
字符串型
选项:
@q |
引号内的不变 |
示例:
例1:upper("ABCdef") 返回:"ABCDEF"
例2:upper("abcDEF") 返回:"ABCDEF"
例3:upper@q("\'abCD\'") 返回:"'abCD'"
函数说明:
将URL串进行编码处理。
语法:
urlencode(s, cs)
参数说明:
s |
URL串 |
cs |
字符集 |
返回值:
字符串型
选项:
@r |
解码,urlencode的逆动作 |
@f |
表示要转码的串是个完整的url,使用该选项会将url拆成各部分,对每部分进行url转码 |
示例:
例1:urlencode ("哥哥","utf8") 返回:"%E5%93%A5%E5%93%A5"
例2:urlencode@r("%E5%93%A5%E5%93%A5","utf8") 返回:"哥哥"
例3:urlencode@f("http://localhost:6868/demo/测试/test.jpg","utf8")
返回:" http://localhost:6868/demo/%E6%B5%8B%E8%AF%95/test.jpg"
函数说明:
将字符串每一个单词的首字母大写
相关函数:
upper() 把字符串转成大写
lower() 把字符串转成小写
语法:
wordcap(s)
参数说明:
s |
需要将单词首字母大写的源串 |
返回值:
字符串型
示例:
例1:wordcap("I love my country") 返回:"I Love My Country"
例2:wordcap("she is beautiful") 返回:"She Is Beautiful"