SAP ABAP 에서 String ! 즉, 문자열 내에서
특정 문자를 찾는 구문에 대해서
정리를 해보려고 한다 !
Search Functions 에는 find 와 count 가 있는데
그 중 find 먼저 정리 하고
다음에 count에 대해서 정리를 해보겠당 ..!
- Find
: 문자열의 위치를 찾는 구문
1. find( val = text {sub = substring}|{regex = regex} [case = case]
[off = off] [len = len] [occ = occ] ) ...
DATA(result1) = find( val = `xxx123yyy` regex = `\d+` ).
write result1. " 3
-> 1번 풀이 !
val = `xxx123yyy` 에서 숫자( regex = `\d+`) 를
찾아 ( find ) 해당 위치를 반환하는 구문
result1 = 3
* abap 은 zero index 로 위치를 판정
2. find_end( val = text regex = regex [case = case]
[off = off] [len = len] [occ = occ] ) ...
DATA(result2) = find_end( val = `xxx123yyy` regex = `\d+` ).
write result2. " 6
-> 2번 풀이 !
val = `xxx123yyy` 에서 숫자( regex = `\d+`) 가
끝나는 위치를 찾아 ( find_end ) 반환하는 구문
result2 = 6
(숫자 3은 5번째 자리이지만.. +1 해서 6자리부터는 숫자가 없다는 뜻인거 같ㄷ ㅏ...)
3. find_any_of( val = text sub = substring
[off = off] [len = len] [occ = occ] ) ...
ㅇ ㅏ 니..
find any of 가 뭔데 .. 한 번에 안 와닿아서 번역기를 돌려봤는데
뭔가 알 것 같아 ... 짐ㅎ
DATA(result3) = find_any_of( val = `xxx123yyy` sub = `123` ).
write result3. "3
-> 3번 풀이 !
val = `xxx123yyy` 에서 sub = `123` 중
하나의 위치를 찾아 ( find_any_of ) 반환하는 구문
result3 = 3
(맨 처음 발견된 ` 1 ` 의 위치를 찾아서 반환하는 듯 !)
4. find_any_not_of( val = text sub = substring
[off = off] [len = len] [occ = occ] ) ...
find any not of 도
번역기로 돌려 봄ㅎ
DATA(result4) = find_any_not_of( val = `xxx123yyy` sub = `x` ).
write result4. " 3
-> 4번 풀이 !
val = `xxx123yyy` 에서 sub = `x` 가
없는 위치를 찾아 ( find_any_not_of ) 반환하는 구문
result3 = 3
참고) https://hoya3298.tistory.com/entry/ABAP-750-Builtin-Functions
'SAP ABAP' 카테고리의 다른 글
[SAP ABAP] Field Symbol & Data Reference (필드 심볼 & 데이터 참조) (0) | 2024.01.23 |
---|---|
[SAP ABAP] Package(개발클래스) CTS 따고 File로 다운로드, 업로드 하는 방법 (0) | 2024.01.16 |