본문 바로가기
IT/SAP ABAP

ABAP 문자열 자르기 / SUBSTRING

by caramba 2017. 3. 8.


 

1. variable+4(4) : +4 번째부터 4 // 19900124 -> 0124 

2. CONCATENATE : 문자 더하기

3. strlen ( 문자열 ) : return length of String 

문자열 넣기



령어

lv_string = '한글과 컴퓨터 좋은컴퓨터 나쁜컴퓨터'.

설명

문자열길이

lv_len = strlen( lv_string ) 

문자열의 길이를 돌려준다.[ Length = 19]

수량획득

find all occurrences of '컴퓨' in lv_string  match count lv_cnt.

[컴퓨]가 들어가 있는 수를 돌려준다. [ count = 3]

최초위치

획득

find  '컴퓨' in lv_string  match offset lv_off.

[컴퓨]가 들어가 있는 첫번째 위치. [offset = 4 ]

전체변경

replace all OCCURRENCES OF '컴' in lv_string with '콤' REPLACEMENT COUNT lv_cnt.

문자열중 [컴]을 모두 [콤]으로 변경해 준다.
총변경 수량을 알려준다. [count = 3]

최초변경

replace  '콤' in lv_string with '컴'.

문자열중 [콤]을 첫번째 검색된 항목만 [컴]으로 변경해 준다.

대소문자

변경

TRANSLATE lv_string TO UPPER CASE. 
TRANSLATE lv_string TO LOWER CASE. 

문자열의 [대문자/소문자]로 변경시켜준다

condense[trim]

CONDENSE lv_string.

lv_string의 좌/우 빈공백을 잘라버린다.

공백없이

붙이기

CONCATENATE t1 t2 t3 INTO result. 

t1,t2,t3의 문자열을 [공백없이 바로 붙여준다.]

concatenate
(' ' 붙이기)

CONCATENATE t1 t2 t3 INTO result SEPARATED BY space. 

t1,t2,t3의 문자열을 space(' ')로 붙여준다.

concatenate
(그대로

 붙이기)

CONCATENATE t1 t2 t3 INTO result RESPECTING BLANKS.

t1,t2,t3의 문자열을 각 변수[t1,t2,t3]의 고유성질 그대로 붙여준다

move

[left]

move result+0(10) to lv_string.

result의 좌측으로 부터 10개의 문자를 득함.

move

[mid]

move result+10(10) to lv_string.

result의 좌측으로 부터 10번재부터 10개의 문자를 득함.

move

[right]

lv_off = 10.
lv_cnt  = strlen( result ).
lv_int = lv_cnt - lv_off.
move result+lv_int(lv_off)  to lv_string.

result의 우측으로부터 10개의 문자를 득함

split[]
(문자열

 arrange)

DATA : NAME(20) VALUE ',a,b',
          first type string,
          second type string.
SPLIT NAME at ',' INTO: first  second.

콤마를 기준으로 배열로 입력한다.

SHIFT

(시스템

 부하큼)

SHIFT first.
SHIFT first RIGHT.
SHIFT first CIRCULAR.
SHIFT first BY 3 PLACES.

좌측으로 SHIFT.
우측으로 SHIFT.
좌측에서 우측으로 채우면서 SHIFT
좌측으로 3만큼 이동한다.

출처: http://www.sapjoy.co.kr/?document_srl=140860

댓글