IT정보공유/C#

c# 정규표현식으로 알아보는 문자열에서 한글만 추출하기

알지오™ 2020. 11. 30.

지난시간에는 문자열에서 한글만 제거 하는 방법을 알아보았습니다.

아무래도 FTP서비스나 기타 한글문화권이 아닌 프로그램을 사용하다 보면

한글을 사용하면 안되는 경우가 있을 수 있기 때문이였는데요.

[IT정보공유/C#] - c# 정규표현식으로 알아보는 문자열에서 한글만 제거하기

 

c# 정규표현식으로 알아보는 문자열에서 한글만 제거하기

파일명이나 문자열 등에서 한글만 제거하는 방법에 대해서 알아보도록 하겠습니다. 한글만 제거하는 건 사실 크게 어렵지는 않습니다. 바로 정규표현식 Regex Class 덕분인데요. Regex 클래스가 없

bigenergy.tistory.com

 

오늘은 한글만 제거 하는 것이 아닌 약간의 응용으로 한글만 추출해서 가져오는 방법을 알아보도록 하겠습니다.

 

Regex Class를 이용한 한글만 가져오는 방법

 

지난번에 알아본 영어, 숫자만 추출하는 방법과 거의 흡사합니다.

다만 이번에 추출하는 대상은 한글이기 때문에 정규표현식 상에서 한글의 범위를 지정해주는 형태만 바뀌었습니다.

 

//

        private void btnOnlyKorean_Click(object sender, EventArgs e)
        {
            string sSampleText = "abcㄱ한글만def ㄴ추출하고ghi ㄷ가실게요~ㅎㅎ!@";

            string sKor = ExtractKorean(sSampleText);
            MessageBox.Show(sKor);
        }

        private string ExtractKorean(string sSampleText)
        {
            string sExtStr = "";
            sExtStr = Regex.Replace(sSampleText, @"[^ㄱ-ㅎ가-힣]", "");
            return sExtStr;
        }

//

 

지난번과 같이 Regex.Replace 함수를 이용하고 있는데, 영어,숫자로 지정하던 부분을

"ㄱ-ㅎ가-힣"이라고 지정했습니다.

ㄱ~ㅎ 까지, 가~힣에 포함되는 한글만 남기고 모두 공백으로 바꿔버리겠다는 의미이죠.

 

한글추출

 

그래서 이렇게 한글만 정상적으로 추출되었습니다.

문자열에서 한글만 찾아야 할때는 정규표현식을 이용하면 간단하네요.

 

댓글

💲 추천 글