728x90
반응형
문자 가공 명령어
FIND
- 특정패턴 찾아내는 구문
- FIND P IN text.
DATA: c TYPE string,
p(4) TYPE c.
c = 'ABAP'. "abap에서
p = 'P'. "p라는 스펠링을 찾는다
FIND p IN c.
IF sy-subrc EQ 0. "find로 찾았을때
WRITE / 'P found'. "출력
ENDIF.
C는 문자열 타입이고 P는 4자리의 캐릭터 타입이다. C는 ABAP이라는 값을 가지고 있고 P는 P라는 값을 가지고 있는데 C의 'ABAP'이라는 문자에서 P의 'P' 스펠링을 찾는다.
만약 찾았다면 'P Found'라는 문자를 실행했을때 보여준다.
DATA: c TYPE string,
p(4) TYPE c.
c = 'ABAP'.
p = 'Z'.
FIND p IN c.
IF sy-subrc NE 0.
WRITE / 'Z NOT found'.
ENDIF.
Z를 찾지 못했다면 'Z NOT Found`를 출력해라.
REPLACE
- 문자열 치환
- REPLACE g IN f WITH INTO p.
DATA: c TYPE string,
p(4) TYPE c.
c = 'ABAP'.
p = 'BBAP'.
REPLACE 'ABAP' IN c WITH p.
WRITE / c.
abap에서 p값으로 c값을 대체한다. C값의 동일하지 않은 부분을 P값의 동일하지 않은 부분으로 대체한다.
TRANSLATE
- 소문자 대문자 변경
- TRANSLATE c TO LOWER CASE/UPPER CASE.
DATA: c TYPE string,
p(4) TYPE c.
c = 'ABAP'.
TRANSLATE c TO LOWER CASE.
WRITE / c.
'ABAP'을 소문자로 변환한다.
SHIFT
- 옆으로 한칸 이동해서 출력
- 문자열 이동
DATA: c TYPE string,
p(4) TYPE c.
c = 'ABAP'.
SHIFT c.
WRITE / c. "BAP로 출력
'ABAP'을 왼쪽으로 한칸 옮겨서 출력한다. 'BAP'로 출력된다.
CONDENSE
- 여백없애주는 구문
- CONDENSE c (NO-GAPS).
- NO-GAPS 안쓰면 한칸만. 쓰면 여백 전부 없앤다.
DATA: c TYPE string,
p(4) TYPE c.
c = 'AB AP'.
CONDENSE c NO-GAPS.
WRITE / c.
'AB AP'의 여백을 없애 'ABAP'으로 출력한다.
OVERLAY
- 겹쳐주는 구문
- OVERLAY c1 WITH c2.
DATA: c TYPE string,
p(4) TYPE c.
c = 'B P'.
p = 'AAAA'.
OVERLAY c WITH p.
WRITE / c. "BAP로 출력
P값을 C값의 빈공간에 채운다. 'BAP'로 출력한다.
CONCATENATE
- 여러텍스트를 한텍스트로 합치는 구문
- CONCATENATE f1 ... fn INTO g.
DATA: c TYPE string,
p(4) TYPE c.
c = 'AB'.
p = 'AP'.
CONCATENATE c p INTO c.
또는
c = c && p. 로도 사용가능
WRITE / c.
C와 P를 합쳐서 출력하겠다. 'ABAP'으로 출력된다.
CONCATENATE c p 'aaa' into c SEPARATED BY space.
C와 P와 'AAA' 합쳐지지만 중간에 공백을 주겠다. 공백있게 합쳐져 출력된다.
SPLIT
- 문자열 나눔
- 나눠서 출력
*SPLIT f AT g INTO h1 ... hn.
DATA: c TYPE string,
p(4) TYPE c.
c = 'AB,AP'.
SPLIT c AT ',' INTO c p. "콤마를 기준으로
WRITE:/ c, p.
콤마를 기준으로 나눠서 출력하겠다.
결과
728x90
반응형
'ABAP' 카테고리의 다른 글
Internal table (0) | 2023.01.24 |
---|---|
Structure (0) | 2023.01.24 |
Function 생성해보기 (0) | 2023.01.24 |
날짜 관련 Function (0) | 2023.01.24 |
Data type (0) | 2023.01.24 |
댓글