ABAP的匹配

  • 通配符

    1. 字符串操作中的通配符

      • *:多位字符的通配符

      • +:一位字符的通配符

      • #:字符操作中的转义符

        REPORT ztest_placeholder.
        
        DATA:l_name(8) TYPE c VALUE 'ZhangSan'.
        
        * *号是多位的通配符
        IF l_name CP '*San'.
        WRITE: '*:YES'.
        ELSE.
        WRITE: '*:NO'.
        ENDIF. * +号是一位通配符
        IF l_name CP '+San'.
        WRITE:/ '+:YES'.
        ELSE.
        WRITE:/ '+:NO'.
        ENDIF.

        输出

        *:YES

        +:NO

    2. OPEN SQL where条件中通配符

      • %:多位字符的通配符

      • _:一位字符的通配符

      • ESCAPE:Where条件中转义符

        TABLES:makt.
        SELECT SINGLE *
        FROM makt
        WHERE spras = 1
        AND maktx LIKE '%/_' ESCAPE '/' .
  • CA,CO,CS,CP

  1. CA(Contain Any)

    str1 ca str2 遍历str1,其中的每个字符对应到str2的每个字符,如果对应成功,注意:只要有一个字符成功,就为true.

    str1 = '我a'.
    str2 = 'hubab'.
    str1 ca str2 -true
  2. CO(Contain Only)

    str1 co str2 遍历str1,其中的每个字符对应到str2的每个字符,如果对应成功,注意:str1中的每一個字符成功,就为true.

    可用于判断是否为数字。ca ‘0123456789’

    str1 = '我a'.
    str2 = 'hubab'.
    str1 ca str2 -false str1 = 'ba'.
    str2 = 'hubab'.
    str1 ca str2 -true
  3. CS(Contain String)

    str1 cs str2 str1 是否包含str2。

  4. CP(Contain Pattern)

    加入通配符的匹配

    str1 = 'aac'
    str2 = '#aA#c
    str1 cp str2 -true str1 = 'aAc'
    str2 = '#aA#c'
    str1 cp str2 -true
  5. NOTE

    • CO / CN contains only or not

    • CA / NA contains any or not any

    • CS / NS contain string or not

    • CP / NP contains pattern or not

    • CO, NO, CA, NA比较时区分大小写, 并且尾部空格也在比较的范围之内

    • CS, NS, CP, NP不区分大小写和尾部空格

    • 比较结束后,如果结果为真,sy-fdpos将给出s2在s1中的偏移量信息

    str1 = '123abc123'
    str2 = '*abc*'
    sy-fdpos = 3.
  • 使用正则表达式

    ^表示否定

    FIND FIRST OCCURRENCE OF REGEX '[^a-zA-Z]' IN p_input3.
    IF sy-subrc = 0.
    MESSAGE 'There is some non-letter in your input.' TYPE 'E'.
    ENDIF.

ABAP的匹配的更多相关文章

  1. ABAP中正则表达式的简单使用方法 (转老白BLOG)

    在一个论坛上面看到有人在问正则表达式的问题,特举例简单说明一下.另外,REPLACE也支持REGEX关键字.最后:只能是ECC6或者更高版本才可以(ABAP supports POSIX regula ...

  2. ABAP:SAP报表性能的优化

    大部分ABAPer都是从SAP报表及打印开始学起的,大家也都认为写个SAP报表程序是最简单不过的事了. 但是实际情况真的如此吗?写报表时除了保证数据的准确性,您可曾考虑过报表的性能问题吗? 由于报表程 ...

  3. ABAP 内表 详解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. 字符串处理:ABAP中的正则表达式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. ABAP Enhancement:第二部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. [SAP ABAP开发技术总结]增强Enhancement

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. [SAP ABAP开发技术总结]字符串处理函数、正则表达式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. SAP ABAP 处理字符串串串串串串串串(详细)

    关于ABAP中处理字符串的方法,非常详细,学习过程中总结一下分享给大家,,, ABAP/4 提供多个处理类型 C 即字符串 的数据对象的关键字. 处理字符串 的方法有: 1.拆分字符串split 2. ...

  9. ABAP程序执行效率和优化 ABAP Performance Examples

    一.             SQL Interface1.         Select ... Where vs. Select + Check用Select … Where语句效率比Select ...

随机推荐

  1. 码云Gitee上新建项目教程

    1.在浏览器访问,https://gitee.com/: 2.使用用户名.密码登录: 3.在左下角显示当前用户的项目,点击“+”号,创建项目: 4.填写项目的相关信息,项目名称要和本地要上传的项目名称 ...

  2. 转:APP开发浅谈-Fiddler抓包详解

    原文地址:http://www.luoxudong.com/?p=306 Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今 ...

  3. MySQL计算年龄

    SELECT TIMESTAMPDIFF(YEAR, birthday, now()) FROM person2;

  4. sql脚本过大,无法打开的解决方法

    打开cmd命令窗口,输入如下命令: sqlcmd -S ipaddress -U user -P password -d dbname -i file 其中,ipaddress是数据库服务器ip,us ...

  5. mac与Windows系统支持软件汇总

    踩过的坑,记录下

  6. springboot+VUE(二)

    入element-ui cnpm install element-ui -S 执行后,会下载element-ui的包到本地,同时会将配置加入到package.json的依赖块中. 通过命令行可以将最新 ...

  7. PHP大神必须养成的十大优良习惯

    1.多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的函数.就在这些函数里面包括许多有用 的功能,如果你仔细阅读手册,你会经常 ...

  8. OO第二单元(电梯)单元总结

    OO第一单元(求导)单元总结 这是我们OO课程的第二个单元,这个单元的主要目的是让我们熟悉理解和掌握多线程的思想和方法.这个单元以电梯为主题,从一开始的最简单的单部傻瓜调度(FAFS)电梯到最后的多部 ...

  9. (22/24) webpack实战技巧:静态资源集中输出

    工作中会有一些已经存在但在项目中没有引用的图片资源或者其他静态资源(比如设计图.开发文档),这些静态资源有可能是文档,也有可能是一些额外的图片,而在打包时保留这些静态资源,直接打包到指定文件夹中.此时 ...

  10. LeetCode 24. Swap Nodes in Pairs 成对交换节点 C++/Java

    Given a linked list, swap every two adjacent nodes and return its head. You may not modify the value ...