当前位置: 首页 > news >正文

ABAP 辨析CO|CN|CA|NA|CS|NS|CP|NP

1、文档说明

本篇文档将通过举例,解析字符的比较运算符之间的用法和区别,涉及到的操作符:CO|CN|CA|NA|CS|NS|CP|NP

2、用法和区别

用法总览

以下举例,几乎都使用一个字符变量和一个硬编码字符进行对比的方式,忽略尾部空格,所以需要注意

凡是比较尾部空格的,需要特别注意变量的长度和字符的长度,考虑尾部空格对结果的影响

2.1、CO仅包含

S1 仅含有 S2中的字符(区分大小写,比较尾部空格)

2.1.1、S1仅有a等于S2中的a,其实还有个尾部空格

去掉尾部空格(尾部空格参与比较的运算符同理)

实际的内容是这样,S1除了a,还包含4个尾部空格,而S2中没有尾部空格,因此结果为FALSE

2.1.2、S1含有S2中没有的c

2.2、CN包含以外

S1包含S2中以外的字符(区分大小写,比较尾部空格)

2.2.1、S1包含S2中没有的c

2.2.2、S1仅有a等于S2中的a,没有其他S2以外的字符

2.3、CA包含任意

S1至少包含S2中的任意一个字符(区分大小写,比较尾部空格)

2.3.1、S1包含S2中的a,其实还有个尾部空格

如果变量直接比较,包含尾部空格,其实是用空格进行了对比,所以任何情况结果都是TRUE

2.3.2、S1没有包含S2中的任何字符

2.4、NA不包含任意

S1不包含S2的任意一个字符(区分大小写,比较尾部空格)

2.5、CS包含字符串

S1包含S2整个字符串

2.6、NS不包含字符串

S1不包含S2整个字符串

2.7、CP符合模式

S1符合S2的模式

此处使用"*"和"+"作为通配符

"*"匹配"字符串"

"+"匹配"字符"

如果需要区分大小写,需要匹配*和+字符,需要匹配空格,则需要通过#号进行转义

大小写要求:#B #c

 匹配*或+

匹配空格

2.8、NP不符合模式

S1不符合S2的模式

3、特殊情况

除了以上要注意区分大小写和字符尾部空格外,还需要注意变量类型

例如:CO中,如果S2 type string类型,且为初始值,S1无论何值,结果都是FALSE

如果 S1 type string类型,且为初始值,S2无论何值,结果都是TRUE

 再例如:CA中,S1或S2为string类型,且为初始值,则结果都是FALSE

http://www.lryc.cn/news/19881.html

相关文章:

  • RK3568平台开发系列讲解(设备驱动篇)Pinctrl子系统详解
  • ROS小车研究笔记:二维SLAM建图简介与源码分析
  • 番外9:使用ADS对射频功率放大器进行非线性测试1(以IMD3测试为例)
  • 车载软件背景(留坑)
  • Hadoop-MapReduce
  • ChatGPT来了,软件测试工程师距离失业还远吗?
  • 【项目实战】Linux服务管理 之 开启/关闭防火墙
  • OSS存储使用之centOS系统ossfs挂载
  • 【项目实战】SpringBoot多环境(dev、test、prod)配置
  • Laravel框架01:composer和Laravel简介
  • 【bug】Transformer输出张量的值全部相同?!
  • 【LeetCode】剑指 Offer(8)
  • 安装MySQL数据库
  • 手写Android性能监测工具,支持Fps/流量/内存/启动等
  • Java知识复习(三)Java IO
  • Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
  • 2023年全国最新会计专业技术资格精选真题及答案5
  • 软工个人作业 -- 分析与提问
  • C++类和对象到底是什么意思?
  • 【电路设计】常见电路及相关解释
  • 【一天一门编程语言】Linux 实用命令大全
  • 【汇编】二、预备知识(一只 Assember 的成长史)
  • Java多线程面试题:描述一下线程安全活跃态问题,竞态条件?
  • ZZNUOJ_用C语言编写程序实现1193:单科成绩排序(结构体专题)(附完整源码)
  • expect 使用方法
  • Spring AOP详解-Spring官方原版
  • 链表习题精选(持续更新中)
  • 【log】操作类日志处理 与 报错类日志处理logback
  • 百度网盘好友发来的文件手动输入JS选择代码批量保存
  • 【CS224W】(task6)Google的PageRank算法