[ABAP]字符运算符

25 篇文章 0 订阅

字符运算符

CO:仅包含

CN:不仅包含

CA:包含任何

NA:不包含任何

CS:包含字符串

NS:不包含字符串

CP:包含模式

NP:不包含模式

*CO  仅包含
"如果<f1>仅包含<f2>中的字符,则逻辑表达式<f1> CO <f2>为真,该比较区分大小写并包含空格
"如果比较结果为真,则系统字段SY-FDPOS为<f1>的长度,如果比较结果为假,则系统字段SY-FDPOS为<f1>中第一个在<f2>内出现字符的偏移量
IF 'AB C' CO 'ABCD '.
  WRITE: / 'CO:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'CO:F', 'POS:', sy-fdpos.
ENDIF.

*CN  不仅包含
"如果<f1>还包含<f2>之外的其他字符,则逻辑表达式<f1> CN <f2>为真,该比较区分大小写并包含空格
"如果比较结果为真,则系统字段SY-FDPOS为<f1>中第一个未在<f2>中出现的字符偏移量,如果比较结果为假,则系统字段SY-FDPOS为<f1>的长度
IF 'AB1' CN 'ABCD '.
  WRITE: / 'CN:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'CN:F', 'POS:', sy-fdpos.
ENDIF.

*CA  包含任何
"如果<f1>至少包含<f2>中的一个字符,则逻辑表达式<f1> CA <f2>为真,该比较区分大小写并包含空格
"如果比较结果为真,则系统字段SY-FDPOS为<f1>中第一个在<f2>中出现的字符偏移量,如果比较结果为假,则系统字段SY-FDPOS为<f1>的长度
IF 'aB ' CA 'ABCD '.
  WRITE: / 'CA:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'CA:F', 'POS:', sy-fdpos.
ENDIF.

*NA  不包含任何
"如果<f1>不包含<f2>中的字符,则逻辑表达式<f1> NA <f2>为真,该比较区分大小写并包含空格
"如果比较结果为真,则系统字段SY-FDPOS为<f1>的长度,如果比较结果为假,则系统字段SY-FDPOS为<f1>中第一个在<f2>内出现字符的偏移量
IF 'abcd ' NA 'ABCD '.
  WRITE: / 'NA:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'NA:F', 'POS:', sy-fdpos.
ENDIF.

*CS  包含字符串
"如果<f1>包含字符串<f2>,则逻辑表达式<f1> CS <f2>为真,该比较不区分大小写忽略尾部空格
"如果比较结果为真,则系统字段SY-FDPOS为<f2>在<f1>中出现的字符偏移量,如果比较结果为假,则系统字段SY-FDPOS为<f1>的长度
IF 'ABCD' CS 'ab '.
  WRITE: / 'CS:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'CS:F', 'POS:', sy-fdpos.
ENDIF.

*NS  不包含字符串
"如果<f1>不包含字符串<f2>,则逻辑表达式<f1> NS <f2>为真,该比较不区分大小写忽略尾部空格
"如果比较结果为真,则系统字段SY-FDPOS为<f1>的长度,如果比较结果为假,则系统字段SY-FDPOS为<f2>在<f1>中出现字符的偏移量
IF 'ABC' NS 'ABCD '.
  WRITE: / 'NS:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'NS:F', 'POS:', sy-fdpos.
ENDIF.

*CP  包含模式
"如果<f1>包含模式<f2>,则逻辑表达式<f1> CP <f2>为真,该比较不区分大小写忽略尾部空格
"如果<f2>属于类型C,则可以在<f2>中使用下列通配符:
"*用于任何字符串
"+用于任何单字符串
"如果要对<f2>中的特殊字符进行比较,请将换码字符#放到其前面
"大小写字符
"通配符* (#*)
"通配符+ (#+)
"换码符本身# (##)
"字符串结尾的空格 (# )
"如果比较结果为真,则系统字段SY-FDPOS为<f2>在<f1>中的偏移量,如果比较结果为假,则系统字段SY-FDPOS为<f1>的长度
IF 'AB # CD' CP '*##* '.
  WRITE: / 'CP:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'CP:F', 'POS:', sy-fdpos.
ENDIF.

*NP  不包含模式
"如果<f1>不包含模式<f2>,则逻辑表达式<f1> NP <f2>为真,该比较不区分大小写忽略尾部空格
"可以使用与CP相同的通配符和转换字符
"如果比较结果为真,则系统字段SY-FDPOS为<f1>的长度,如果比较结果为假,则系统字段SY-FDPOS为<f2>在<f1>中的偏移量
IF 'AB # CD' NP 'CD'.
  WRITE: / 'NP:T', 'POS:', sy-fdpos.
ELSE.
  WRITE: / 'NP:F', 'POS:', sy-fdpos.
ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值