今天做了个函数用来提取文本右边的数字,原代码如下:
FUNCTION Z_FIND_NUMERIC_FROM_TEXT.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" REFERENCE(IM_TEXT) TYPE ZTEXT
*" EXPORTING
*" REFERENCE(EX_NUMBER) TYPE ZNUMBER
*"----------------------------------------------------------------------
DATA: len TYPE i, "文本长度
pos TYPE i, "文本位置
char TYPE c, "单个文本
num TYPE i, "单个文本转换为数字
l_regex(255) TYPE c VALUE '[0-9]'. "正则表达式
len = STRLEN( im_text ).
CLEAR ex_number.
Do len TIMES.
pos = len - sy-index.
char = im_text+pos.
FIND REGEX l_regex IN char.
IF sy-subrc = 0.
num = char.
ex_number = ex_number + num * ( 10 ** ( sy-index - 1 ) ).
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDFUNCTION.