HOWTO · Csharp
Fractionner chaîne par chaîne en C#
Ce didacticiel explique comment fractionner une chaîne en utilisant une autre chaîne en C#.
Sur cette page
Les chaînes sont l’objet utilisé pour stocker des données textuelles. La bibliothèque C# System.String fournit de nombreuses méthodes pour manipuler, créer et comparer des chaînes.
Une situation courante que nous rencontrons souvent consiste à diviser une chaîne pour extraire des données importantes. Cet article se concentrera sur le fractionnement d’une chaîne à l’aide d’une autre chaîne et sur les différentes manières d’effectuer cette opération en C#.
Utilisation de la méthode String.Split() en C#
La méthode String.Split() a différentes surcharges nous fournissant différentes méthodes de fractionnement d’une chaîne.
Nous nous intéressons à une surcharge particulière qui prend une chaîne comme argument et l’utilise comme délimiteur pour diviser la chaîne donnée en ses sous-chaînes.
using System;
public class Example {
public static void Main() {
string str = "Delft@@Stack";
string separator = "@@";
string[] tokens = str.Split(new string[] { separator }, StringSplitOptions.None);
Console.WriteLine(String.Join(" ", tokens));
}
}
Production:
Delft Stack
Dans la méthode ci-dessus, nous divisons la chaîne donnée à l’aide de la chaîne de délimitation @@ en un tableau de sous-chaînes, puis imprimons en les concaténant avec un espace.
Utilisation de la méthode Regex.Split() en C#
La méthode Regex.Split() fait ce que nous voulons réaliser. Il prend la chaîne d’entrée et la divise en un tableau de sous-chaînes en fonction de la correspondance de la condition regex.
using System;
using System.Text.RegularExpressions;
public class Program {
public static void Main() {
string str = "Delft@@Stack";
string separator = "@@";
string[] tokens = Regex.Split(str, separator);
Console.WriteLine(String.Join(" ", tokens));
}
}
Production:
Delft Stack
A partir de l’exemple de code ci-dessus, la méthode Regex.Split() a une utilisation encore plus simple que la méthode String.Split(). Il est encore plus rapide et plus efficace dans l’exécution.