提取字符串中的联系人和电话号码进行拆分

DATA : SENT TYPE STRING VALUE '颜嘉江13666666666 -刘占兴 13899999999'.
DATA : NUMS TYPE STRING VALUE '1234567890'.
DATA : GAPS TYPE STRING VALUE ' '.
DATA : LV_LEN TYPE I.
DATA : LV_NUM TYPE I.
DATA : LV_I1 TYPE I.
DATA : LV_I2 TYPE I.
DATA :NAME TYPE STRING.
DATA:TEL TYPE STRING.
DATA: VISLEN TYPE I.
DATA: LV_C1     TYPE CHAR1.

LV_LEN = STRLEN( SENT ).
LV_NUM = 0.
DO LV_LEN TIMES.
*  将空格进行替换
  REPLACE SPACE WITH '/' INTO SENT.

  LV_C1 = SENT+LV_NUM(1).
  IF LV_C1 CA NUMS.
    CONCATENATE NAME LV_C1 INTO NAME.
  ELSEIF LV_C1 CA '/'.
    LV_I1 = LV_NUM - 1.    LV_I2 = LV_NUM + 1.
    IF SENT+LV_I1(1) CA NUMS AND SENT+LV_I2(1) NA NUMS.
      CONCATENATE TEL '/' INTO TEL.
    ELSEIF SENT+LV_I1(1) NA NUMS AND SENT+LV_I2(1) CA NUMS .
      CONCATENATE NAME '/' INTO NAME.
    ENDIF.
  ELSE.
    CALL FUNCTION 'NLS_VISUAL_CHARLEN'
      EXPORTING
        STR        = LV_C1
      IMPORTING
        LEN_VISUAL = VISLEN.
    IF VISLEN EQ 2.
      CONCATENATE TEL LV_C1 INTO TEL.
      CONDENSE TEL NO-GAPS.
    ENDIF.
  ENDIF.
  LV_NUM = LV_NUM + 1.
  CLEAR:LV_C1,LV_I1,LV_I2.
ENDDO.


WRITE : SENT.

WRITE : / NAME,/ TEL.


关键词: ABAP

网友评论

发表评论