Générateur de chaînes de caractères en C#

Muhammad Maisam Abbas 16 février 2024
Générateur de chaînes de caractères en C#

Ce didacticiel abordera la segmentation d’une chaîne en plusieurs sous-chaînes en C#.

Générateur de jetons de chaîne utilisant la fonction String.Split() en C#

Dans le traitement du langage naturel, la tokenisation des chaînes est la méthode de fractionnement d’une phrase en tous les mots individuels présents dans la phrase. Ces mots individuels sont appelés jetons.

Nous avons la classe StringTokenizer en Java à des fins similaires. En C#, nous n’avons pas directement d’implémentation de la classe StringTokenizer, mais nous pouvons obtenir des résultats similaires en utilisant la fonction String.Split() disponible en C#.

La fonction String.Split() peut diviser une chaîne donnée en un tableau de sous-chaînes en fonction d’un séparateur ou d’un délimiteur. Cette fonction prend l’expression régulière pour le délimiteur ou le séparateur et renvoie un tableau de sous-chaînes.

Pour tokeniser une chaîne donnée, nous pouvons la diviser en sous-chaînes en utilisant un espace vide comme séparateur ou délimiteur.

L’extrait de code suivant montre comment nous pouvons utiliser la fonction String.Split() pour tokeniser une chaîne en C#.

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

Production:

This
is
some
input
String

La sortie affiche la chaîne d’origine This is some input String divisée en mots individuels avec la méthode String.Split() en C#.

Ce string tokenizer est plus puissant que le StringTokenizer disponible en Java. Le simple StringTokenizer n’autorise qu’un seul délimiteur, tandis que la méthode ci-dessus peut diviser la chaîne d’entrée en fonction de plusieurs délimiteurs.

L’extrait de code suivant montre un exemple pour démontrer la puissance de la fonction 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);
}

Production:

This
is
some
input
String

but

is
it
actually
a
good
string

The
answer
is
upto
you.

L’extrait de code ci-dessus prend la chaîne d’entrée :

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

Le code le divise en jetons basés sur plusieurs délimiteurs. Les entrées vides dans la sortie peuvent être supprimées en spécifiant StringSplitOptions.RemoveEmptyEntries comme second paramètre de la fonction String.Split().

L’avantage de la classe StringTokenizer par rapport à cette méthode est qu’elle peut également stocker tous les délimiteurs ou jetons à l’intérieur de la chaîne donnée, alors que la fonction String.Split() supprime les délimiteurs.

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

Article connexe - Csharp String