文章目录
表达式函数
字符串
大小写转换
toUpper
描述
将小写转为大写
参数
无
返回值
转换后的大写字符串
案例
假设 流文件
存在一个属性 demo
,其值为demoDEMO
表达式 | 输出结果 |
---|---|
${demo:toUpper()} | DEMODEMO |
toLower
描述
将大写转为小写
参数
无
返回值
转换后的小写字符串
案例
假设 流文件
存在一个属性 demo
,其值为demoDEMO
表达式 | 输出结果 |
---|---|
${demo:toLower()} | demodemo |
去除字符串前后的空格
trim
描述
和Java中的trim功能一致,都是去除字符串前后的空格(不会去掉字符串中间的空格)
参数
无
返回值
去除前后空格后的字符串
案例
假设 流文件
存在一个属性 demo
,其值为demo
(前后各有一个空格)
表达式 | 输出结果 |
---|---|
${demo:trim()} | demo |
字符串截取
substring
描述
根据开始下标和结束下标截取字符串的一部分,必须提供开始下标,结束下标默认为字符串尾
参数
- 截取的起始下标
- 截取的结束下标
返回值
截取后的字符串内容
注意
- 下标从
0
开始 - 下标
含头不含尾
- 索引必须是
数字
,否则会报错 - 开始下标必须
小于
结束下标,否则报错 - 如果超长(指目标字符串过短)将返回空白字符串
假设 流文件
存在一个属性 demo
,其值为demo123
案例
表达式 | 输出结果 |
---|---|
${demo:substring(0,1)} |
d |
${demo:substring(0,4)} |
demo |
${demo:substring(2)} |
mo123 |
${demo:substring(4)} |
123 |
${demo:substring(${demo:length():minus(3)})} |
123 |
案例解释
- 从第0个字符开始,到第1个字符,总共取1个字符
(不包括第一个字符)
- 从第0个字符开始,到第4个字符,总共取4个字符
(不包括第4个字符)
- 从第2个字符开始,到字符串最后
(未提供结束下标)
- 从第4个字符开始,到字符串最后
(未提供结束下标)
- 取字符串最后3个字符
(首先获取到字符串长度,该长度减去要获取的长度即是需要截去的长度)
substringBefore/substringBeforeLast
描述
substringBefore:截取从首部开始,到指定字符结束的字符串(正序)
substringBeforeLast:截取从首部开始,到指定字符结束的字符串(倒序)
这两个参数非常类似,其都是从开始取值,到指定字符结束,如果找不到目标字符,都会返回字符串的所有内容;唯一的区别在于,substringBefore是从当前位置向后寻找字符,而substringBeforeLast刚好相反,它是从后向前寻找
参数
- 匹配查找的字符串
返回值
截取的内容
注意
- 如果找不到指定的字符串,会将源字符串
原样返回
substringBefore
是从头开始
,substringBeforeLast
是从尾开始
案例
假设 流文件
存在一个属性 demo
,其值为demo123demo123
表达式 | 结果 |
---|---|
${demo:substringBefore('o1')} |
dem |
${demo:substringBeforeLast('o1')} |
demo123dem |
${demo:substringBefore('sss')} |
demo123demo123 |
${demo:substringBeforeLast('sss')} |
demo123demo123 |
案例解释
- 从头开始寻找
o1
,并返回从0下标开始,到o1
字符串为止的中间字符 - 从尾开始寻找
o1
,并返回从0下标开始,到o1
字符串为止的中间字符 - 从头开始寻找
sss
,但源字符串不包括sss
,因此直接返回源字符串
- 从尾开始寻找
sss
,但源字符串不包括sss
,因此直接返回源字符串
substringAfter/substringAfterLast
描述
substringAfter:截取从末尾开始,到指定字符结束的字符串(正序)
substringAfterLast:截取从末尾开始,到指定字符结束的字符串(倒序)
这两个函数非常类似,其都是从末尾取值,到指定字符结束,如果找不到目标字符,都会返回字符串的所有内容;唯一的区别在于,substringAfter是从当前位置向后寻找字符,而substringAfterLast刚好相反,它是从后向前寻找
参数
- 匹配查找的字符串
返回值
截取的内容
注意
- 如果找不到指定的字符串,会将源字符串
原样返回
substringAfter
是从头开始
,substringAfterLast
是从尾开始
- 截取时
不包含
目标字符串
案例
假设 流文件
存在一个属性 demo
,其值为demo123demo123
表达式 | 结果 |
---|---|
${demo:substringBefore('o1')} |
23demo123 |
${demo:substringBeforeLast('o1')} |
23 |
${demo:substringBefore('sss')} |
demo123demo123 |
${demo:substringBeforeLast('sss')} |
demo123demo123 |
案例解释
- 从头开始寻找
o1
,并返回从字符串结束下标开始,到o1
字符串为止的中间字符 - 从尾开始寻找
o1
,并返回从字符串结束下标开始,到o1
字符串为止的中间字符 - 从头开始寻找
sss
,但源字符串不包括sss
,因此直接返回源字符串
- 从尾开始寻找
sss
,但源字符串不包括sss
,因此直接返回源字符串
附加与追加
append/prepend
描述
append:在源字符串后追加字符串
prepend:在源字符串前附加字符串
append和prepend的区别在于,append是在源字符串后追加,prepend是在源字符串之前附加,> 使用时注意甄别它们之间的区别
参数
- 附加或追加的字符串
返回值
添加后的字符串
注意
- 如果源字符串为空,无论那个函数都会返回其本身
案例
假设 流文件
存在一个属性 demo
,其值为demo
表达式 | 输出结果 |
---|---|
${demo:append(‘123’)} | demo123 |
${demo:prepend(‘123’)} | 123demo |
案例解释
- 在字符串后附加
- 在字符串前附加
字符串替换
replace/replaceFirst
描述
replace:用另一个字符串替换源字符串中的所有目标字符串(文本替换)
replaceFirst:仅替换源字符串中第一次出现的目标字符串
参数
- 要匹配的字符串或正则表达式
- 目标字符串
返回值
替换后的字符串
注意
- replaceFirst 函数仅替换一次
- replace 函数会替换所有
案例
假设 流文件
存在一个属性 demo
,其值为demo123demo123
表达式 | 输出结果 |
---|---|
${demo:replace(‘123’, ‘456’)} | demo456demo456 |
${demo:replaceFirst(‘123’, ‘456’)} | demo456demo123 |
案例解释
- 替换源字符串中所有的 123 为 456
- 仅替换源字符串中第一次出现的 123 替换为 456
字符串搜索
startsWith/endsWith
描述
startsWith:判断给定的参数是否是源字符串的开始
endsWith:判断给定的参数是否是源字符串的结束
参数
- 要进行比较的字符串
返回值
Boolean
注意
无
案例
假设 流文件
存在一个属性 demo
,其值为demo123
表达式 | 输出结果 |
---|---|
${demo:startsWith(‘demo’)} | true |
${demo:endsWith(‘123’)} | true |
案例解释
- 判断源字符串是否以
demo
开始 - 判断源字符串是否以
123
结束
contains
描述
判断源字符串中是否包含给定的参数
参数
- 要进行比较的参数
返回值
Boolean
注意
- 在字符串的任意位置匹配即认为符合
案例
假设 流文件
存在一个属性 demo
,其值为demo123
表达式 | 输出结果 |
---|---|
${demo:contains(‘456’)} | false |
${demo:contains(‘mo12’)} | true |
案例解释
- 判断源字符串中是否包含
456
- 判断源字符串中是否包含
mo12
in
描述
判断源字符串是否包含在给定参数的字符串列表中
参数
- 进行比较的字符串列表
返回值
Boolean
注意
无
案例
假设 流文件
存在一个属性 demo
,其值为demo
表达式 | 输出结果 |
---|---|
${demo:in(‘123’, ‘456’, ‘aaa’)} | false |
${demo:in(‘123’, ‘456’, ‘demo’)} | true |
案例解释
- 判断
demo
是否包含在123、456、aaa
中 - 判断
demo
是否包含在123、456、demo
中
find/matches
描述
根据给定的正则表达式,在源字符串中寻找匹配项
find:部分匹配即可
matches:必须和给定的参数完全一致
参数
- 正则表达式(表达式)
返回值
Boolean
注意
- find要求部分匹配即可,matches必须完全匹配
- 正则表达式的写法须符合java的规范
案例
假设 流文件
存在一个属性 demo
,其值为demo123
表达式 | 输出结果 |
---|---|
${demo:find(’[Dd]em[Oo]’)} | true |
${demo:find(’[Dd]em[Oo].*’)} | false |
${demo:matches(’[Dd]em[Oo]’)} | false |
案例解释
- 在源字符串中寻找是否具有匹配的字符串(D、O允许大小写)
- 在源字符串中寻找是否具有匹配的字符串(D、O允许大小写,且具有.*后缀)
- 在源字符串中寻找是否具有匹配的字符串(D、O允许大小写),matches要求完全匹配,因此返回false
indexOf/lastIndexOf
描述
在源字符串中寻找给定参数的索引
indexOf:正序查找(从前向后)
lastIndexOf:倒序查找(从后向前)
参数
- 要寻找的字符串
返回值
Number
注意
- 如果找不到给定的参数,将返回
-1
- 索引从
0
开始计算 - 如果有多个匹配项,将返回
第一次
找到的匹配项的索引
案例
假设 流文件
存在一个属性 demo
,其值为demo123
表达式 | 输出结果 |
---|---|
${demo:indexOf(‘e’)} | 1 |
${demo:lastIndexOf(‘e’)} | 5 |
案例解释
- 在源字符串中
从前向后
查找字符e
- 在源字符串中
从后向前
查找字符e