마스터 데이터에 섞여 들어온 특수문자를 점검하거나, 특정 패턴이 들어 있는 텍스트를 골라내야 할 때 ABAP의 FIND 구문이 유용합니다. 가장 단순한 형태는 문자열 안에 특정 부분 문자열이 있는지 확인하는 것입니다.
모든 출현 위치를 한 번에 얻으려면 ALL OCCURRENCES를 사용합니다.
REGEX 키워드를 붙이면 정규식 패턴으로 검색할 수 있습니다. 아래는 'This' 또는 'example'에 해당하는 위치를 모두 찾는 예시입니다.
RESULTS 테이블에는 각 매칭의 offset(시작 위치)과 length(길이)가 담기므로, 이후 해당 위치의 문자열을 잘라내거나 치환하는 후처리에 활용할 수 있습니다.
마스터 데이터 채번/이관 시, 허용되지 않은 특수문자가 값에 섞여 있는지 점검해야 할 때가 많습니다. 정규식으로 "허용 문자 외의 것"을 찾는 패턴이 깔끔합니다.
자주 쓰는 정규식 조각을 정리하면 다음과 같습니다.
| 패턴 | 의미 |
|---|---|
A|B | A 또는 B (OR) |
[^A-Z0-9] | 영문 대문자·숫자가 아닌 문자 |
\d+ | 숫자 1자 이상 |
\s | 공백 문자(스페이스/탭 등) |
^...$ | 문자열 전체가 패턴과 일치하는지 (앵커) |
같은 정규식을 REPLACE ALL OCCURRENCES OF REGEX ... IN ... WITH ...구문에 그대로 사용하면, 특수문자를 한 번에 제거·치환할 수 있습니다.
FIND ... IN ..., 전체 출현은 FIND ALL OCCURRENCES로 확인합니다.REGEX 키워드로 정규식을 사용하고, RESULTS 테이블의 offset/length로 후처리합니다.[^...])은 특수문자 점검에 특히 유용합니다.Disclaimer — 이 포스트는 AI(Claude)를 활용하여 작성된 초안을 바탕으로 검수 및 보완하여 작성되었습니다. 내용 중 오류나 오타가 있다면 댓글로 알려주시면 감사하겠습니다.