zoukankan      html  css  js  c++  java
  • SEARCH(文字の検索)

    文字列に関する無効命令

    以下の各命令は無効であり、4.6 および 6.10 までのリリースとの互換性を確保するためにのみ利用可能となっています。これらの命令が古いプログラムの中に出現することはありますが、今後は使用すべきでありません。

    SEARCH を使用した検索

    SEARCH は FIND の前にあった命令です。この命令はリリース 6.10 以降も存在します。
    リリース 7.0 以前の、FIND 命令によって取り扱われない機能についてのみ SEARCH を使用する必要があります。特に、そのようなケースとしては特殊文字を使用した検索があります。

    リリース 7.0 以降での SEARCH 命令の機能は、見つかったサンプルの選択を例外として (AND MARK オプション)、標準表現を組み込んだ FIND 命令によってカバーされます。必要であれば、見つかった後のサンプル選択をプログラミングするために、オフセット/長さを指定したアクセスを使用することができます。

    FIND とは異なり、SEARCH では大文字/小文字は区別されず、長いテキストの検索時には低速となります。

    小数点およびアスタリスクは特別なサンプルであり、そのルールはキーワード文書で説明されています。

    代码:

     
    DATA string(30) TYPE c VALUE 'This is a little sentence.'.
    WRITE: / 'Searched', 'SY-SUBRC ', 'SY-FDPOS'.
    ULINE /1(26).
    SEARCH string FOR 'X'.
    WRITE: / 'X', sy-subrc UNDER 'SY-SUBRC',
                   sy-fdpos UNDER 'SY-FDPOS' 
    SEARCH string FOR 'itt   '.
    WRITE: / 'itt   ', sy-subrc UNDER 'SY-SUBRC',
                       sy-fdpos UNDER 'SY-FDPOS' 
    SEARCH string FOR '.e .'.
    WRITE: / '.e .', sy-subrc UNDER 'SY-SUBRC',
                      sy-fdpos UNDER 'SY-FDPOS'.
    SEARCH string FOR '*e'.
    WRITE: / '*e ', sy-subrc UNDER 'SY-SUBRC',
                    sy-fdpos UNDER 'SY-FDPOS'.
    SEARCH string FOR 's*'.
    WRITE: / 's* ', sy-subrc UNDER 'SY-SUBRC',
                    sy-fdpos UNDER 'SY-FDPOS'.
    

      结果显示:

    SEARCHED SY-SUBRC SY-FDPOS
    
    X            4        0
    
    itt          0       11
    
    .e .        0      15
    
    *e           0       10
    
    s*           0       17
    DATA: string TYPE c (30) TYPE c VALUE 'This is a fast first example.',
          pos TYPE i,
          off TYPE i.
    WRITE / string.
    SEARCH string FOR 'ft' ABBREVIATED.
    WRITE: / 'SY-FDPOS:', sy-fdpos.
    pos = sy-fdpos + 2.
    SEARCH string FOR 'ft' ABBREVIATED STARTING AT pos AND MARK.
    WRITE / string.
    WRITE: / 'SY-FDPOS:', sy-fdpos.
    off = pos + sy-fdpos -1.
    WRITE: / 'Off:', off.
    

     出力

    This is a fast first example.
    SY-FDPOS:    10
    This is a fast FIRST example.
    SY-FDPOS:    4

     

  • 相关阅读:
    C# 利用StringBuilder提升字符串拼接性能
    T420 开启麦克风
    理解数据库中的undo日志、redo日志、检查点
    网络编程api总结
    源码剖析Linux epoll实现机制及Linux上惊群
    linux信号的处理--部分源码分析
    git使用笔记-提高篇-重置揭密
    git使用笔记-比较分支差异
    git使用笔记-提高篇
    ubuntu安装软件依赖解决
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10562667.html
Copyright © 2011-2022 走看看