loading
본문 바로가기
RPA

[UIPATH] 전각 문자를 반각 문자로 변경하기

by 원쿤짱쿤 2025. 5. 8.
반응형

전각 문자를 반각 문자로 변경 하고 텍스트 가져오기


은행에 방문하여 입금 할 경우 기본 문자열이 아닌 전각 문자열로 입금텍스트가 잡히는 상황으로 해당 문자열을 반각 문자열로 변환 해야함

 

여기서 전각과 반각이란?

→ 문자의 폭 차이에서 비롯된 개념으로 생각하면 된다.(관련해서는 아래 링크에서 확인가능**(ㄱ))**

  • 전각: 한자나 일본어 등 동아시아 문자(한글, 한자, 가나)가 원래 정사각형 공간을 차지하도록 설계됨.
  • 반각: 서양 문자(알파벳, 숫자)는 더 좁은 공간을 차지하며, 영문 타이프라이터나 초기 컴퓨터(ASCII 기반)에서 효율성을 위해 도입됨.

즉, 동아시아 문자 시스템과 서양 문자 시스템의 차이 때문에 두 가지 방식이 공존하게 됨
( 일부 은행에서는 입금텍스트 작성 시 전각 문자열로 입금되는 사례가 있음)

Matches 
input = "강남02/21 "
patten = "[\uFF00-\uFFEF]+"
output = parsedDate of string

Assign
result = StrConv(parsedDate, vbStrConv.Narrow, 1042)
output: "강남02/21"

 

함수 구성 요소 상세 분석

  • vbStrConv.Narro
    • StrConv 함수의 두 번째 매개변수로, 문자열 내의 일부 문자를 'narrow' 형태로 변환하는 옵션을 지정합니다. 여기서 'narrow'는 주로 전각 문자(더블 바이트 문자)를 반각 문자(싱글 바이트 문자)로 변환하는데 사용됩니다. 예를 들어, 전각 숫자나 특수 문자를 해당하는 반각 형태로 변환합니다.
  • 1042
    • 이 매개변수는 변환에 사용할 문화권을 지정합니다. 1042는 한국어 문화권을 의미하며, 이는 문자 변환 시 한국어에 적합한 규칙을 적용하겠다는 의미입니다.

 

소스 코드


1. 입금 텍스트 숫자부터 가져오기 : Matches

 

속성

 

 

다른 방법.


Matches 
input = "강남02/21 "
patten = "[\uFF00-\uFFEF]+"
output = parsedDate of string

Assign
result = parsedDate.Normalize(system.Text.NormalizationForm.FormKC)
output: "강남02/21"

 

 

함수 구성 요소 상세 분석

  • Normalize(...)
    • string 타입에서 제공하는 .NET 메서드로, 유니코드 정규화를 수행하는 기능
    • 특정한 유니코드 정규화 규칙을 적용하여 문자열을 표준화.
  • System.Text.NormalizationForm.FormKC
    • 유니코드 정규화 방식 중 하나인 KC (Compatibility Composition) 규칙을 적용합니다.
      • 정규화 방식은 4가지가 있으며 아래 링크**(ㄴ)**에서 확인가능
    • 이 방식은 전각 문자(Full-width)와 반각 문자(Half-width)를 변환하는 기능을 포함합니다.

 

 

링크

(ㄱ)https://namu.wiki/w/전각과 반각

(ㄴ)https://learn.microsoft.com/ko-kr/dotnet/api/system.text.normalizationform?view=net-9.0

(ㄷ)https://learn.microsoft.com/ko-kr/dotnet/api/microsoft.visualbasic.strings.strconv?view=net-9.0

https://support.microsoft.com/ko-kr/topic/strconv-함수-19c3816f-dbc9-4adf-891c-fd32734c92e0