String-Tokenizer in C#

Muhammad Maisam Abbas 16 Februar 2024
String-Tokenizer in C#

In diesem Tutorial wird das Tokenisieren einer Zeichenfolge in mehrere Teilzeichenfolgen in C# erläutert.

String-Tokenizer mit der Funktion String.Split() in C#

Bei der Verarbeitung natürlicher Sprache ist die Zeichenfolgen-Tokenisierung die Methode, einen Satz in alle einzelnen Wörter aufzuteilen, die im Satz vorhanden sind. Diese einzelnen Wörter werden Token genannt.

Für ähnliche Zwecke haben wir die Klasse StringTokenizer in Java. In C# haben wir keine direkte Implementierung der Klasse StringTokenizer, aber wir können ähnliche Ergebnisse mit der in C# verfügbaren Funktion String.Split() erzielen.

Die String.Split()-Funktion kann einen gegebenen String basierend auf einem Trennzeichen oder Begrenzer in ein Array von Teilstrings unterteilen. Diese Funktion nimmt den regulären Ausdruck für das Trennzeichen oder Trennzeichen und gibt ein Array von Teilzeichenfolgen zurück.

Um einen bestimmten String zu tokenisieren, können wir ihn in Teilstrings unterteilen, indem wir ein Leerzeichen als Trenn- oder Begrenzungszeichen verwenden.

Das folgende Code-Snippet zeigt, wie wir die Funktion String.Split() verwenden können, um einen String in C# zu tokenisieren.

string inputString = "This is some input String";
string[] tokens = inputString.Split(' ');
foreach (string token in tokens) {
  Console.WriteLine(token);
}

Ausgabe:

This
is
some
input
String

Die Ausgabe zeigt den Original-String This is some input String aufgeteilt in einzelne Wörter mit der Methode String.Split() in C#.

Dieser String-Tokenizer ist leistungsfähiger als der in Java verfügbare StringTokenizer. Der einfache StringTokenizer erlaubt nur ein Trennzeichen, während die obige Methode den Eingabestring anhand mehrerer Trennzeichen aufteilen kann.

Das folgende Code-Snippet zeigt ein Beispiel, um die Leistungsfähigkeit der Funktion String.Split() zu demonstrieren.

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);
}

Ausgabe:

This
is
some
input
String

but

is
it
actually
a
good
string

The
answer
is
upto
you.

Das obige Code-Snippet nimmt die Eingabezeichenfolge:

This is some input String, but, is it actually a good string? The answer is upto you.

Der Code teilt es basierend auf mehreren Trennzeichen in Token auf. Die leeren Einträge in der Ausgabe können entfernt werden, indem StringSplitOptions.RemoveEmptyEntries als zweiter Parameter der Funktion String.Split() angegeben wird.

Der Vorteil der Klasse StringTokenizer gegenüber dieser Methode besteht darin, dass sie auch alle Trennzeichen oder Token innerhalb des angegebenen Strings speichern kann, während die Funktion String.Split() die Trennzeichen verwirft.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Verwandter Artikel - Csharp String