‎2007 Nov 30 1:29 PM
Guys,
I want to remove all non-numeric characters from my string. Basically only want it to contain numbers before I pass it on.
Suggestion?
‎2007 Nov 30 1:35 PM
Hi!
DATA: lv_int TYPE i, lv_len TYPE i.
lv_len = strlen(mystring).
CLEAR lv_int.
WHILE lv_int < lv_len.
IF NOT mystring+lv_int(1) CA '0123456789'.
MOVE space TO mystring+lv_int(1).
ENDIF.
ADD 1 TO lv_int.
ENDWHILE.
CONDENSE mystring NO-GAPS.
Regards
Tamá
‎2007 Nov 30 1:35 PM
Hi!
DATA: lv_int TYPE i, lv_len TYPE i.
lv_len = strlen(mystring).
CLEAR lv_int.
WHILE lv_int < lv_len.
IF NOT mystring+lv_int(1) CA '0123456789'.
MOVE space TO mystring+lv_int(1).
ENDIF.
ADD 1 TO lv_int.
ENDWHILE.
CONDENSE mystring NO-GAPS.
Regards
Tamá
‎2007 Nov 30 1:55 PM
‎2008 Jun 29 2:22 PM
REPLACE ALL OCCURRENCES OF REGEX '[^[:digit:] ]'
IN l_variable WITH space.
SHIFT l_variable LEFT DELETING LEADING space.
‎2008 Jun 29 3:05 PM
Hi,
REPLACE ALL OCCURRENCES OF REGEX '[0-9]' IN l_var WITH ''.
any shorter and/or more efficient code?
Regards,
Clemens
‎2007 Nov 30 1:45 PM
parameters: ch(10) type c.
data: ch1(1) type c.
data: ty type DD01V-DATATYPE.
data: l type i.
DATA: K TYPE I.
l = strlen( ch ).
k = 0.
while k < l.
ch1 = ch+k(1).
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = ch1
IMPORTING
STRING_OUT = ch1
HTYPE = ty.
if ty NE 'NUMC'.
ch+k(1) = '#'.
endif.
k = k + 1.
endWHILE.
REPLACE ALL OCCURRENCES OF '#' in CH with ''.
WRITE: CH.