에디터 문자열 치환 액션에서 점(.) 또는 물음표(?)를 삭제하는 방법.
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. [ 문자열 치환 ] 액션은 [ OCR 체크 ]와 기타 문자를 인식하는 액션과 같이 사용하는 일들이 많습니다. 이미지에서 숫자 또는 문자와 같은 텍스트를 추출할 때 OCR 체크 액션을 주로 사용하는데요. 이외에도 다양한 방법이 있지만, 사용법이 OCR 체크보다 다소 복잡한면이 없지않아 있습니다. 그렇다보니 대부분의 유저가 OCR 체크로 거래소의 가격이나 판매 가격 또는 주식, 선물과 같은 거래에서 OCR 체크 액션을 사용하고 있습니다. 자~ 그러면 1,000만원이라는 텍스트를 인식한다고 생각 해보세요. 1,000만원이 정상적으로 인식되면 괜찮겠지만, 가끔 1.000만원이라고 인식되는 경우가 있습니다. 그러면, 콤마로 한번 치환해서 삭제하고 닷을 한번 더 치환하면 1000만원이라는 값을 얻을 수 있습니다. 테스트를 위해 엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.
[ 변수 ]를 하나를 추가 했습니다. 1,0000만원이라는 값을 미리 넣어놓고, 연속해서 [ 문자열 치환 ] 을 하기 위함입니다. 변수 아이디는 "금액"이라고 설정하고, 기본 값으로 1,000만원을 입력하세요. 기본 값은 문자열 속성에 입력하시면 됩니다. 숫자와 문자가 같이 있기 때문에 문자열로 처리해야 합니다.
문자열 치환 액션을 2개 추가했습니다. 하나는 콤마를 다른 하나는 닷을 제거하기 위함입니다.
문자열 치환 액션 둘다 아래와 같이 변수 값을 가져옵니다.
문자열 치환 액션 둘다 변수 추가하기로 결과 값을 입력하세요.
첫번째 문자열 치환 액션의 치환될 문자열에 콤마를 입력하세요. 두번째 문자열 치환 액션의 치환될 문자열 속성에는 닷을 입력하세요.
정상적으로 처리가 되었는지 확인하기 위해 [ 메세지 박스 ] 액션을 스크립트 마지막에 추가 해줍니다.
변수 가져오기로 메세지 박스 내용에 표시하도록 해줍니다.
매크로를 실행 해볼까요? 우리가 예상한 결과는 메세지 박스가 표시되고, 내용으로 1000만원이라는 텍스트가 찍혀야 합니다. 하지만, 하단의 아웃풋 내용을 보면 뭔가 잘못되었다는걸 알 수 있습니다. 메세지 박스의 내용 속성은 필수 입력값인데 아무런 값도 없다고 알려줍니다. 그렇다면 문자열 치환 액션에서 뭔가 잘못되어서 변수의 값이 정상적으로 갱신되지 않았을 가능성이 큽니다.
첫번째 문자열 치환 액션을 선택해보면 정상 처리가 된걸 알 수 있습니다.
두번째 문자열 치환 액션을 보면 결과 값이 없는걸 확인할 수 있습니다. 그렇다면 닷(점: .)을 처리하지 못했다는걸 알 수 있습니다.
문자열 치환 액션은 기본적으로 정규식을 따릅니다. 그래서, 정규식 문법에 대해 약간이나마 지식이 필요합니다. 정규식 사이트에 관련 내용을 찾아보기로 했습니다. 아래 사이트에 방문해서 닷(점)이 어떤 의미를 가지는지 확인 해봤습니다. 챕터 2의 메타 문자에 보면 온점(Period)에 대한 설명이 있네요. 지금까지 점은 닷(Dot)이라는 용어를 사용했는데요. 정규식 또는 일반적으로 온점(Period)를 사용합니다. 혼용해서 사용하더라도 같은거라고 이해하시면 될거 같습니다^^;
[ 정규표현식 문법 가이드 ]
온점에 대한 설명을 보면 줄바꿈 기호를 제외한 모든 문자와 매치된다고 되어 있습니다. 그렇다면 1000만원과 온점은 모두 매치가 되므로 빈 값으로 치환되었을겁니다. 아래 그림과 같이 온점을 치환할 때 치환할 문자가 공백이므로 모두 제거가 됩니다. 그렇다면 정규식의 메타 문자들을 제거하려면 어떻게 해야 할까요?
역슬래시(\)를 사용하면 뒤에 오는 예약된 문자(메타 문자)를 이스케이프할 수 있다고 설명하고 있습니다. 그러면, 온점 앞에 역슬레시를 붙여주면 정상 동작합니다.
아래 그림과 같이 두번째 문자열 치환 액션에서 치환될 문자 속성을 "\."와 같이 변경하세요.
매크로를 다시 실행하고, 결과를 확인 해보세요. 이번에는 정상적으로 메세지 박스가 표시될겁니다.
문자열 치환을 사용할 때 기본적으로 시스템에 예약된 문자들은 역슬레시를 붙여야 합니다. "?!.+"와 같은 것들이 많이 사용되는 예약어입니다. 이외에도 더 있긴하지만 대략 그렇습니다. 위의 정규표현식 사이트에서 메타 문자들을 치환할 때 참고하시면 많은 도움이 될겁니다.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글1부 - 미니맵에서 내 케릭터와 목표 지점 거리를 계산해서 이동시키는 방법. 23.09.16
- 다음글이미지가 있으면 키보드 방향키 누르는 방법. 23.09.16
댓글목록
등록된 댓글이 없습니다.