%SUBST (取得子字串)
%SUBST(string:start {:length {: *NATURAL | *STDCHARSIZE }})
%SUBST 傳回部分引數字串。 它也可以 作為具有 EVAL 作業碼之指派的結果。
start 參數代表子字串的起始位置。
長度參數代表子字串的長度。 如果未指定,則長度為字串參數的長度減去起始值加 1。
字串必須是 字元、圖形或 UCS-2資料。 起始位置和長度可以是任何具有零小數位數的數值或數值表示式。 起始位置必須大於零。 長度可能大於或等於零。
當字串參數是可變長度時,會根據現行長度而非長度上限來檢查其他參數的值。
第三或第四個參數可以是 *NATURAL 或 *STDCHARSIZE ,以置換陳述式的現行 CHARCOUNT 模式。 如果指定此參數,則它必須是最後一個參數。
- 指定 *NATURAL 以指出 %SUBST 在 CHARCOUNT NATURAL 模式下運作。 起始位置和長度是以字元來測量,而不是以位元組或雙位元組來測量。 例如,如果基本字串是具有值 'ábç12' 的 UTF-8 字串,則起始位置 3 會參照 'ç' ,因為它是第三個字元。
- 指定 *STDCHARSIZE 以指出 %SUBST 以 CHARCOUNT STDCHARSIZE 模式運作。 在前一個範例中,在 CHARCOUNT STDCHARSIZE 模式下,起始位置 3 會參照 'b' ,因為它是第三個位元組。 字元 'á' 和 'ç' 是 2 位元組字元。
由於 /CHARCOUNT 編譯器指引或 CHARCOUNT Control 關鍵字, 附註: %SUBST 也可以在 CHARCOUNT NATURAL 模式下運作。
當指定為定義規格關鍵字的參數時,參數必須是文字或代表文字的已命名常數。 在開放式計算規格上指定時,參數可以是任何表示式。