Partager via


Découper et supprimer des caractères des chaînes dans .NET

Si vous analysez une phrase en mots individuels, vous pouvez finir par des mots qui ont des espaces vides (également appelés espaces blancs) sur l’une ou l’autre des extrémités du mot. Dans ce cas, vous pouvez utiliser l’une des méthodes trim de la System.String classe pour supprimer un nombre quelconque d’espaces ou d’autres caractères d’une position spécifiée dans la chaîne. Le tableau suivant décrit les méthodes de découpage disponibles :

Nom de la méthode Utiliser
String.Trim Supprime les espaces blancs ou les caractères spécifiés dans un tableau de caractères situés au début et à la fin d’une chaîne.
String.TrimEnd Supprime les caractères spécifiés dans un tableau de caractères de la fin d’une chaîne.
String.TrimStart Supprime les caractères spécifiés dans un tableau de caractères au début d’une chaîne.
String.Remove Supprime un nombre spécifié de caractères d’une position d’index spécifiée dans une chaîne.

Ajuster

Vous pouvez facilement supprimer des espaces blancs des deux extrémités d’une chaîne à l’aide de la String.Trim méthode, comme illustré dans l’exemple suivant :

string MyString = " Big   ";
Console.WriteLine($"Hello{MyString}World!");
string TrimString = MyString.Trim();
Console.WriteLine($"Hello{TrimString}World!");
//       The example displays the following output:
//             Hello Big   World!
//             HelloBigWorld!
Dim MyString As String = " Big   "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
' The example displays the following output:
'       Hello Big   World!
'       HelloBigWorld!        

Vous pouvez également supprimer des caractères que vous spécifiez dans un tableau de caractères à partir du début et de la fin d’une chaîne. L’exemple suivant supprime les espaces blancs, les points et les astérisques :

using System;

public class Example
{
   public static void Main()
   {
      String header = "* A Short String. *";
      Console.WriteLine(header);
      Console.WriteLine(header.Trim( new Char[] { ' ', '*', '.' } ));
   }
}
// The example displays the following output:
//       * A Short String. *
//       A Short String
Module Example
    Public Sub Main()
        Dim header As String = "* A Short String. *"
        Console.WriteLine(header)
        Console.WriteLine(header.Trim({" "c, "*"c, "."c}))
    End Sub
End Module
' The example displays the following output:
'       * A Short String. *
'       A Short String

TrimEnd

La String.TrimEnd méthode supprime les caractères de la fin d’une chaîne, créant un objet de chaîne. Un tableau de caractères est passé à cette méthode pour spécifier les caractères à supprimer. L’ordre des éléments dans le tableau de caractères n’affecte pas l’opération de découpage. Le découpage s’arrête lorsqu’un caractère non spécifié dans le tableau est trouvé.

L’exemple suivant supprime les dernières lettres d’une chaîne à l’aide de la TrimEnd méthode. Dans cet exemple, la position du 'r' caractère et le 'W' caractère sont inversés pour illustrer que l’ordre des caractères dans le tableau n’a pas d’importance. Notez que ce code supprime le dernier mot de MyString et une partie du premier.

string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"r", "o", "W", "l", "d", "!", " "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)

Ce code affiche He dans la console.

L’exemple suivant supprime le dernier mot d’une chaîne à l’aide de la TrimEnd méthode. Dans ce code, une virgule suit le mot Hello et, parce que la virgule n’est pas spécifiée dans le tableau de caractères à découper, le découpage se termine par la virgule.

string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello, World!"
Dim MyChar() As Char = {"r", "o", "W", "l", "d", "!", " "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)

Ce code affiche Hello, dans la console.

TrimDémarrer

La String.TrimStart méthode est similaire à la String.TrimEnd méthode, sauf qu’elle crée une nouvelle chaîne en supprimant les caractères du début d’un objet de chaîne existant. Un tableau de caractères est passé à la TrimStart méthode pour spécifier les caractères à supprimer. Comme avec la TrimEnd méthode, l’ordre des éléments dans le tableau de caractères n’affecte pas l’opération de découpage. Le découpage s’arrête lorsqu’un caractère non spécifié dans le tableau est trouvé.

L’exemple suivant supprime le premier mot d’une chaîne. Dans cet exemple, la position du 'l' caractère et le 'H' caractère sont inversés pour illustrer que l’ordre des caractères dans le tableau n’a pas d’importance.

string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"e", "H", "l", "o", " "}
Dim NewString As String = MyString.TrimStart(MyChar)
Console.WriteLine(NewString)

Ce code affiche World! dans la console.

Supprimer

La String.Remove méthode supprime un nombre spécifié de caractères qui commencent à une position spécifiée dans une chaîne existante. Cette méthode suppose un index de base zéro.

L’exemple suivant supprime 10 caractères d’une chaîne commençant à la position cinq d’un index de base zéro de la chaîne.

string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));
// The example displays the following output:
//         Hello World!
Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5, 10))
' The example displays the following output:
'         Hello World!        

Remplacer

Vous pouvez également supprimer un caractère ou une sous-chaîne spécifié d’une chaîne en appelant la String.Replace(String, String) méthode et en spécifiant une chaîne vide (String.Empty) comme remplacement. L’exemple suivant supprime toutes les virgules d’une chaîne :

using System;

public class Example
{
   public static void Main()
   {
      String phrase = "a cold, dark night";
      Console.WriteLine($"Before: {phrase}");
      phrase = phrase.Replace(",", "");
      Console.WriteLine($"After: {phrase}");
   }
}
// The example displays the following output:
//       Before: a cold, dark night
//       After: a cold dark night
Module Example
    Public Sub Main()
        Dim phrase As String = "a cold, dark night"
        Console.WriteLine("Before: {0}", phrase)
        phrase = phrase.Replace(",", "")
        Console.WriteLine("After: {0}", phrase)
    End Sub
End Module
' The example displays the following output:
'       Before: a cold, dark night
'       After: a cold dark night

Voir aussi