abc(한국), def(일본), ghi(브라질)
이런식의 문자열이 있을 경우
( ) 안에 있는 문자열을 지워서
abc, def, ghi 라는 문자열을 결과로 얻고 싶습니다 ...
어떻게 하면 될까요 ?
replace로 해볼려고 했는데 () 안의 값이 딱 정해져 있지 않고 문자 길이도 맘대로라서요 ..
고수님들 도와주세요~
댓글 5
-
은우야
2009.03.11 15:18
-
Jaden
2009.03.11 15:27
좀 막무가내 로직이지만 은우야님 말처럼 이런식으로 하시면 어떠실까 싶네요
DATA : g_char(100).
DATA : g_check,
g_input(100),
g_uniq1 VALUE '(',
g_uniq2 VALUE ')',
g_delete.
DATA : g_len TYPE i,
g_output TYPE string.
g_char = 'abc(한국), def(일본), ghi(브라질)'.
g_input = g_char.
g_len = STRLEN( g_input ).
DO g_len TIMES.
IF sy-index EQ 1.
g_check = g_input(1).
IF g_check EQ g_uniq1.
g_input+0(1) = ' '.
g_delete = 'X'.
ENDIF.
ELSE.
SHIFT g_input BY 1 PLACES CIRCULAR.
g_check = g_input(1).
IF g_check EQ g_uniq1.
g_input+0(1) = ' '.
g_delete = 'X'.
ELSEIF g_check EQ g_uniq2.
g_input(1) = ' '.
g_delete = ' '.
ELSE.
IF g_delete EQ 'X'.
g_input(1) = ' '.
ENDIF.
ENDIF.
ENDIF.
ENDDO.
CONDENSE g_input NO-GAPS.
-
봉봉봉
2009.03.11 16:09
와~ 감사합니다^^ jaden님, 은우야님
-
bd
2009.03.12 13:43
split 을 ( 기준으로 하시게 되면 'abc' '(한국)' 으로 짤려 나갈듯 한대...
여기서 abc 에 해당하는 필드값만 사용 하시면 ??
좋은 힌트가 되길바라며 ^^ 좋을 하루 되세요
-
hccpi
2009.03.23 14:32
감사합니다~~~~~
문자열을 하나씩 검새하면서 ( 뒤에 나오는 문자열을 ) 문자열이 나올때가지 삭제하는 방법과
( 전에 나오는 문자열만 다른데로 옮기면 되지 않을까요?