C# - 문자열에서 한글만 추출

문자열에서 한글만 추출하는 방법을 소개합니다. 한글 외에 다른 문자들은 모두 제거합니다.

1. 정규표현식(Regex)으로 한글만 추출

Regex.Replace(string, pattern, replacement)는 string에서 정규표현식 pattern에 해당하는 문자열을 찾아서 모두 replacement로 변경합니다.

아래 예제에서 [^가-힣]는 한글을 제외한 모든 문자를 의미합니다. 이 패턴으로 한글이 아닌 문자들을 모두 찾고 빈 문자열로 변환하여 문자열에서 제거할 수 있습니다.

using System;
using System.Text.RegularExpressions;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            string str = "AA**bb#@$CC 가 나 다-123";

            string result = Regex.Replace(str, @"[^가-힣]", "");
            Console.WriteLine(result);
        }
    }
}

Output:

가나다

정규표현식에서 ^는 not의 의미입니다. [a-z]가 a에서 z에 해당하는 문자를 의미한다면, [^a-z]는 a-z에 해당하지 않는 문자를 의미합니다.

2. 한글, 띄어쓰기만 추츨

한글과 띄어쓰기를 제외한 다른 문자들을 모두 제거하려면, [^가-힣\s] 처럼 패턴에 띄어쓰기를 의미하는 \s를 추가하면 됩니다.

using System;
using System.Text.RegularExpressions;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            string str = "AA**bb#@$CC 가 나 다-123";

            string result = Regex.Replace(str, @"[^가-힣\s]", "");
            Console.WriteLine(result);
        }
    }
}

Output:

 가 나 다
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha