[英]Delete/extract last character from the string
當然,問題被討論了一千次( 1 、 2 、 3 ),但除了這個丑陋的片段外沒有提供任何東西:
data: str type string value 'abcd#',
len type i.
len = strlen( str ).
len = len - 1.
str = str+0(len).
有沒有優雅的單線來做到這一點? 到目前為止我發現的唯一突出的方法是
SHIFT str RIGHT DELETING TRAILING `,`.
但是,它要求您知道最后一個字符是什么(TRAILING 掩碼)並且掩碼不支持正則表達式或通配符。 還是我錯了?
由於某種原因,此變體對我不起作用
SHIFT string RIGHT BY 1.
也許有人知道在一行中執行此操作的更漂亮的語法? ABAP 7.40 或 7.50 中有什么新內容嗎?
SUBSTRING 獲取字符串的最后一個字符:
DATA: str TYPE string VALUE 'abcd#'.
str = substring( val = str off = strlen( str ) - 1 len = 1 ).
海峽將是 '#'
要刪除字符串的最后一個字符(如您的示例):
str = substring( val = str off = 0 len = strlen( str ) - 1 ).
在您的 ABAP 編輯器中輸入 SUBSTRING 並點擊 F1,還有一些變體(substring_after、substring_before 等)
我過去用過的一個技巧:
DATA l_str TYPE string VALUE `abcd#`.
SHIFT l_str RIGHT by 1 PLACES CIRCULAR. " move last char to start, read it from l_str(1)
l_str = l_str+1. " remove it.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.