ABAP CDS提供了许多用于字符串处理的内置函数。其中一些已在NW 7.40版本中提供,其他一些已在NW 7.50中新增。
1.字符串处理的一些内置函数(NW 7.40)
1.1.concat(arg1,arg2)
连接两个字符串的函数,
- 返回CHAR或STRING类型的结果(取决于arg1,arg2的类型)
- 删除所有尾随的空白
- 对应于ABAP语句CONCATENATE,无需添加SEPARATED BY
例
1 2 3 |
concat('TECH','GURU') *输出:'TECHGURU' |
1.2.replace(arg1, arg2, arg3)
字符串替换,
- 结果类型取决于arg1的类型
- 对应于ABAP语句,用arg3替换arg1中的arg2的所有匹配项。
例:
1 2 3 |
replace('TECHGURU','TECH','123TECH') *输出结果:'123TECHGURU' |
1.3.substring(arg,pos,len)
返回字符串arg从,第pos位开始,取len长度的字符串。
- 结果类型取决于arg的类型
- 类似于ABAP函数substring()或直接子字符串访问
- 重要区别:pos表示位置,而不是偏移量!
例:
1 2 3 |
substring('123TECHGURU',5,4) *返回结果:'ECHG' |
2.字符串处理的某些内置函数(NW 7.50)
2.1.concat_with_space(arg1,arg2,count)
连接字符串门arg1,arg2,并中中间加入count个空格。
- 与concat()类似,但在arg1和arg2之间具有计数空间
- 类似于ABAP语句CONCATENATE,添加了SEPARATED BY
例
1 2 3 |
concat_with_space('123','TECHGURU',3) *输出结果:'123 TECHGURU' |
2.2.length(arg)
在CDS中得到字符串长度
- 返回类型为INT4的结果
- 尾随空格不计算
- 对应于ABAP内置函数numofchar()
2.3.left(arg,n) and right(arg,n)
取字符串arg的右边(左边)N位长度的字符串
- 与substring()类似,但返回arg的前n个或后n个字符
- left()对应于ABAP表达式arg(n)