안녕하세요.
STRING_REPLACE 함수는 보통 특정 문자열을 찾아 제거 하는데 사용합니다.
다른문자열이나 특수 문자열은 다 제거되는데... 점('.') 은 제거가 되지 않아 궁금하여 문의드립니다
저만그런건지.. ^^;
다른 함수나 방법은 없는지 문의드립니다.
DATA: T_TEXT(30) VALUE '031-370-9164',
CALL FUNCTION 'STRING_REPLACE'
EXPORTING
PATTERN = '-' " 변경할 문자열 (그런데 '.' 으로 하면 안되네요..)
SUBSTITUTE = '' " 변경될 문자열
* MAX_REPLACES = 0
* importing
* number_of_replaces = numberofreplaces
CHANGING
TEXT = T_TEXT " 문자열이 들어있는 문장
EXCEPTIONS
WRONG_STRING_LENGTH = 1
OTHERS = 2.
T_TEXT : ‘0313709164’
DATA : t_text(30) TYPE c VALUE '031.370.9164'.
PERFORM char_replace USING '.' '' CHANGING t_text.
CONDENSE t_text NO-GAPS.
FORM char_replace USING pv_pattern "변경 전 문자
pv_substitute "변경 후 문자
CHANGING pv_text.
DATA : lv_length TYPE i.
CLEAR : lv_length.
CHECK : pv_pattern IS NOT INITIAL,
pv_text IS NOT INITIAL,
pv_pattern NE pv_substitute.
lv_length = STRLEN( pv_text ).
IF lv_length GT 0.
DO lv_length TIMES.
REPLACE pv_pattern WITH pv_substitute INTO pv_text.
ENDDO.
ENDIF.
ENDFORM. " CHAR_REPLACE