ABAP提供了CL_ABAP_MATCHER类来处理正则表达式。以下是一个使用正则表达式判断字符串是否为数字的示例: abap DATA: lv_string TYPE string VALUE '12345', lv_matcher TYPE REF TO cl_abap_matcher, lv_result TYPE abap_bool. " 创建正则表达式匹配器 lv_matcher = cl_abap_matcher=>create( pattern = ...
IF CL_ABAP_MATCHER=>MATCHES( PATTERN = '^(-?[1-9]\d*(\.\d*[1-9])?)|(-?0\.\d*[1-9])$' TEXT = LS_DATA-ZGLDW ) = ABAP_TRUE. WRITE:/'是数字'。 ELSE. LS_DATA-ZGLDW = 0. WRITE:/'不是数字'。 ENDIF. 分类: SAP-ABAP 好文要顶 关注我 收藏该文 微信分享 萧静默 粉...
1.Email地址检查 DATA: matcherTYPEREFTOcl_abap_matcher, matchTYPEmatch_result.IFcl_abap_matcher=>matches( pattern ='\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}'text ='sap_abaper@sina.cn') =abap_true. matcher= cl_abap_matcher=>get_object( ). match= match...
DATA: matcher TYPE REF TO cl_abap_matcher, match TYPE match_result, itab TYPE match_result_tab, line LIKE LINE OF itab. matcher = cl_abap_matcher=>create( pattern = '^[0-9]+abc$' text = '123abc' ). itab = matcher->find_all( ). LOOP AT itab INTO line. WRITE: / matcher-...
lv_matched_text = lo_matcher->get_group( 0 ). ENDIF. 1.4 替换文本 要使用正则表达式替换文本,可以使用 CL_ABAP_REGEX 类的 REPLACE 方法。此方法会返回一个新字符串,其中所有匹配项都已替换为指定的替换文本。 DATA: lv_replacement TYPE string VALUE `your_replacement_text`, ...
CL_ABAP_MATCHER 1.Email地址检查 DATA: matcher TYPE REF TO cl_abap_matcher,match TYPE match_result.IF cl_abap_matcher=>matches( pattern = '\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}' text = 'sap_abaper@sina.cn' ) = abap_true.matcher = cl_abap_matche...
lv_matched_text = lo_matcher->get_group( 0 ). ENDIF. 1.4 替换文本 要使用正则表达式替换文本,可以使用 CL_ABAP_REGEX 类的REPLACE方法。此方法会返回一个新字符串,其中所有匹配项都已替换为指定的替换文本。 DATA: lv_replacement TYPE string VALUE `your_replacement_text`, ...
输入对应的字符串到LS_SPLIT 中, 也是会返回逻辑判断值,TURE OR FLASE 进行判断是否为数字. 代码语言:javascript 代码运行次数:0 运行 AI代码解释 IFcl_abap_matcher=>matches(pattern='^(-?[1-9]\d*(\.\d*[1-9])?)|(-?0\.\d*[1-9])$'text=ls_split)=abap_true."判断每个拆出来的字段是否为...
判断字符串的数据类型,可以使用函数NUMERIC_CHECK, 使用方法也很简单 如果是纯数字 没有小数点,这么判断是可以的(注意NUMC是会自动补0的,仅用于判断类型没问题),但是如果有小数就会变成CHAR 还有另一种方法 IF cl_abap_matcher=>matches( pattern = '^(-?[1-9]\d*(\.\d... ...
ABAP 判断字符串是否是数字 通过正则表达式: IFcl_abap_matcher=>matches( pattern='^(-?[1-9]\d*(\.\d*[1-9])?)|(-?0\.\d*[1-9])$'text='1.01') =abap_true.WRITE'数字'.ELSE.WRITE'非数字'.ENDIF. -? :负号 [1-9]\d* :整数部分(整数第一位不为0,后面的随意)...