C#의 문자열 토크나이저
이 자습서에서는 C#에서 문자열을 여러 하위 문자열로 토큰화하는 방법에 대해 설명합니다.
C#에서 String.Split()
함수를 사용하는 문자열 토크나이저
자연어 처리에서 문자열 토큰화는 문장을 문장에 있는 모든 개별 단어로 분할하는 방법입니다. 이러한 개별 단어를 토큰이라고 합니다.
비슷한 목적으로 Java에 StringTokenizer
클래스가 있습니다. C#에서는 StringTokenizer
클래스를 직접 구현하지 않았지만 C#에서 사용할 수 있는 String.Split()
함수를 사용하여 비슷한 결과를 얻을 수 있습니다.
String.Split()
함수는 특정 구분 기호 또는 구분 기호를 기반으로 주어진 문자열을 하위 문자열의 배열로 나눌 수 있습니다. 이 함수는 구분 기호 또는 구분 기호에 대한 정규식을 사용하고 하위 문자열의 배열을 반환합니다.
주어진 문자열을 토큰화하기 위해 공백을 구분 기호 또는 구분 기호로 사용하여 문자열을 부분 문자열로 나눌 수 있습니다.
다음 코드 조각은 String.Split()
함수를 사용하여 C#에서 문자열을 토큰화하는 방법을 보여줍니다.
string inputString = "This is some input String";
string[] tokens = inputString.Split(' ');
foreach (string token in tokens) {
Console.WriteLine(token);
}
출력:
This
is
some
input
String
출력은 C#의 String.Split()
메서드를 사용하여 개별 단어로 분할된 원래 문자열 This is some input String
을 보여줍니다.
이 문자열 토크나이저는 Java에서 사용할 수 있는 StringTokenizer
보다 강력합니다. 간단한 StringTokenizer
는 하나의 구분 기호만 허용하지만 위의 방법은 여러 구분 기호를 기반으로 입력 문자열을 분할할 수 있습니다.
다음 코드 스니펫은 String.Split()
함수의 성능을 보여주는 예를 보여줍니다.
string inputString =
"This is some input String, but, is it actually a good string? The answer is upto you.";
string[] tokens = inputString.Split(new char[] { ' ', ',', '?' });
foreach (string token in tokens) {
Console.WriteLine(token);
}
출력:
This
is
some
input
String
but
is
it
actually
a
good
string
The
answer
is
upto
you.
위의 코드 조각은 입력 문자열을 사용합니다.
This is some input String, but, is it actually a good string? The answer is upto you.
코드는 여러 구분 기호를 기반으로 토큰으로 분할합니다. 출력의 빈 항목은 String.Split()
함수에 대한 두 번째 매개변수로 StringSplitOptions.RemoveEmptyEntries
를 지정하여 제거할 수 있습니다.
이 방법에 비해 StringTokenizer
클래스의 장점은 주어진 문자열 내부에 모든 구분 기호 또는 토큰을 저장할 수도 있지만 String.Split()
함수는 구분 기호를 버린다는 것입니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn