abap 字符串判断汇总

判断是否为纯数字 

  CALL FUNCTION 'NUMERIC_CHECK'
    EXPORTING
      string_in = gs_scr-zbarcode
    IMPORTING
*     STRING_OUT       =
      htype     = lv_type.

  IF lv_type <> 'NUMC'.  

判断是否包含中文

    cl_abap_file_utilities=>check_string_7bit_ascii(
    EXPORTING
      string  = gs_scr-zbarcode
     IMPORTING
       bad_chars = lv_bad ) ."判断不为空 包含中文

 检查数量金额

  lv_text = p_upload-menge.
    CONDENSE lv_text NO-GAPS.
    IF cl_abap_matcher=>matches(
       pattern = '^(-?[0-9]\d*(\.\d*[0-9])?)|(-?0\.\d*[0-9])$'
       text = lv_text ) = abap_true.
    ELSE.
       MOVE-CORRESPONDING p_upload TO gs_error.
      gs_error-msg = '数量格式错误'.
      APPEND gs_error TO gt_error.
      CLEAR:gs_error.
      gv_flag = 'X'.
    ENDIF.

 去掉字符串第一位是某个字符/去掉空格

      CLEAR lv_str.
      lv_str = ls_excel-msg.
      CONDENSE  lv_str NO-GAPS.
      SEARCH lv_str FOR '/'.
      IF sy-subrc = 0.
        SHIFT lv_str LEFT DELETING LEADING '/'.
     ls_excel-MSG = LV_STR.
      ENDIF.

 

posted @ 2023-03-15 13:19  YangMeiko  阅读(765)  评论(0)    收藏  举报