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.