文字列に関する無効命令
以下の各命令は無効であり、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-fdposx 40
itt 011
.e . 015
*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 isa fast first example.
sy-fdpos: 10
this
is a fast first
example.
sy-fdpos: 4
文字列內 検索 FIND
以下 構文 使用 abap 畫面順序 開始 find of pattern in dobj.pattern 定義 文字列 従 行 內部 itab 検索 occurrence s 最初 検索 全 検索 決定 検索 終了 検索 最初 見 時點 検索範囲 全検索 見 時點 検索範囲 末尾 到達 時點 検索...
搜尋演算法 Search
1.概述 搜尋演算法是利用計算機的效能優勢來有目的的列舉乙個問題解空間的部分或所有的可能情況,從而求出問題的解的一種方法。在問題求解過程中,人們所面臨的大多數現實問題往往沒有確定性的演算法,需要通過搜尋演算法來解決。搜尋問題一般只需要考慮兩個基本問題 1 使用合適的狀態空間來表示問題。2 測試該狀態...
高階 検索 (二分查詢)
題目描述 輸入兩個數n和q,分別表示n個正整數和q次查詢 每次查詢乙個數字x,輸出有多少數比x小,有多少個數比x大.輸入格式 第一行輸入 n和q 整數 第二行輸入 n個正整數 第三行輸入 q個正整數 輸出格式 q行 每行兩個整數 為小於 大於的數 樣例輸入 10 2 2 8 3 4 1 9 2 7 ...