Herausnehmen und Entfernen von Zeichen aus Zeichenfolgen in .NETTrimming and Removing Characters from Strings in .NET

Wenn Sie einen Satz in einzelne Wörter auflösen, erhalten Sie möglicherweise Wörter mit Leerzeichen (auch als Leerräume bezeichnet) auf beiden Seiten des jeweiligen Wortes.If you are parsing a sentence into individual words, you might end up with words that have blank spaces (also called white spaces) on either end of the word. In diesem Fall können Sie eine der Entfernungsmethoden aus der System.String-Klasse verwenden, um an einer bestimmten Position der Zeichenfolge eine beliebige Anzahl von Leerzeichen oder anderen Zeichen zu entfernen.In this situation, you can use one of the trim methods in the System.String class to remove any number of spaces or other characters from a specified position in the string. In der folgenden Tabelle sind die verfügbaren Entfernungsmethoden aufgeführt.The following table describes the available trim methods.

MethodennameMethod name MitUse
String.Trim Entfernt in einem Zeichenarray angegebene Leerzeichen am Anfang und Ende einer Zeichenfolge.Removes white spaces or characters specified in an array of characters from the beginning and end of a string.
String.TrimEnd Entfernt in einem Zeichenarray angegebene Zeichen am Ende einer Zeichenfolge.Removes characters specified in an array of characters from the end of a string.
String.TrimStart Entfernt in einem Zeichenarray angegebene Zeichen am Anfang einer Zeichenfolge.Removes characters specified in an array of characters from the beginning of a string.
String.Remove Entfernt eine festgelegte Anzahl von Zeichen an der angegebenen Indexposition in einer Zeichenfolge.Removes a specified number of characters from a specified index position in a string.

TrimTrim

Wie das folgende Beispiel zeigt, lassen sich mit der String.Trim-Methode Leerzeichen an beiden Enden einer Zeichenfolge auf einfache Weise entfernen.You can easily remove white spaces from both ends of a string by using the String.Trim method, as shown in the following example.

String^ MyString = " Big   ";
Console::WriteLine("Hello{0}World!", MyString);
String^ TrimString = MyString->Trim();
Console::WriteLine("Hello{0}World!", TrimString);
// The example displays the following output:
//       Hello Big   World!
//       HelloBigWorld!        
string MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString);
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString);
//       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!        

Sie können auch Zeichen am Anfang und am Ende einer Zeichenfolge entfernen, die Sie in einem Zeichenarray angeben.You can also remove characters that you specify in a character array from the beginning and end of a string. Im folgenden Beispiel werden Leerzeichen, Punkte und Sternchen entfernt.The following example removes white-space characters, periods, and asterisks.

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

TrimEndTrimEnd

Mit der String.TrimEnd-Methode werden Zeichen am Ende einer Zeichenfolge entfernt, wodurch ein neues Zeichenfolgenobjekt entsteht.The String.TrimEnd method removes characters from the end of a string, creating a new string object. An diese Methode wird ein Zeichenarray übergeben, das die zu entfernenden Zeichen enthält.An array of characters is passed to this method to specify the characters to be removed. Die Reihenfolge der Elemente im Zeichenarray hat keine Auswirkungen auf den Entfernungsvorgang.The order of the elements in the character array does not affect the trim operation. Der Vorgang wird beendet, sobald ein nicht im Array angegebenes Zeichen gefunden wird.The trim stops when a character not specified in the array is found.

Im folgenden Beispiel werden die letzten Buchstaben einer Zeichenfolge mit der TrimEnd-Methode entfernt.The following example removes the last letters of a string using the TrimEnd method. In diesem Beispiel werden die Positionen der Zeichen 'r' und 'W' vertauscht, um zu veranschaulichen, dass die Reihenfolge der Zeichen im Array keine Rolle spielt.In this example, the position of the 'r' character and the 'W' character are reversed to illustrate that the order of characters in the array does not matter. Beachten Sie, dass durch diesen Code das letzte Wort von MyString sowie ein Teil des ersten Wortes entfernt wird.Notice that this code removes the last word of MyString plus part of the first.

String^ MyString = "Hello World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
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)

Durch diesen Code wird He auf der Konsole angezeigt.This code displays He to the console.

Im folgenden Beispiel wird das letzte Wort einer Zeichenfolge mit der TrimEnd-Methode entfernt.The following example removes the last word of a string using the TrimEnd method. Im Code folgt auf das Wort Hello ein Komma. Da das Komma im Zeichenarray nicht als zu entfernendes Zeichen angegeben ist, wird der Vorgang beim Komma beendet.In this code, a comma follows the word Hello and, because the comma is not specified in the array of characters to trim, the trim ends at the comma.

String^ MyString = "Hello, World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
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)

Durch diesen Code wird Hello, auf der Konsole angezeigt.This code displays Hello, to the console.

TrimStartTrimStart

Die String.TrimStart-Methode ist mit der String.TrimEnd-Methode vergleichbar, außer dass eine neue Zeichenfolge erstellt wird, indem Zeichen am Anfang eines bestehenden Zeichenfolgenobjekts entfernt werden.The String.TrimStart method is similar to the String.TrimEnd method except that it creates a new string by removing characters from the beginning of an existing string object. An die TrimStart-Methode wird ein Zeichenarray übergeben, das die zu entfernenden Zeichen enthält.An array of characters is passed to the TrimStart method to specify the characters to be removed. Wie bei der TrimEnd-Methode hat die Reihenfolge der Elemente im Zeichenarray keine Auswirkungen auf den Entfernungsvorgang.As with the TrimEnd method, the order of the elements in the character array does not affect the trim operation. Der Vorgang wird beendet, sobald ein nicht im Array angegebenes Zeichen gefunden wird.The trim stops when a character not specified in the array is found.

Im folgenden Beispiel wird das erste Wort einer Zeichenfolge entfernt.The following example removes the first word of a string. In diesem Beispiel werden die Positionen der Zeichen 'l' und 'H' vertauscht, um zu veranschaulichen, dass die Reihenfolge der Zeichen im Array keine Rolle spielt.In this example, the position of the 'l' character and the 'H' character are reversed to illustrate that the order of characters in the array does not matter.

String^ MyString = "Hello World!";
array<Char>^ MyChar = {'e', 'H','l','o',' ' };
String^ NewString = MyString->TrimStart(MyChar);
Console::WriteLine(NewString);
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)

Durch diesen Code wird World! auf der Konsole angezeigt.This code displays World! to the console.

RemoveRemove

Mit der String.Remove-Methode wird an einer festgelegten Position innerhalb einer bestehenden Zeichenfolge eine festgelegte Anzahl von Zeichen entfernt.The String.Remove method removes a specified number of characters that begin at a specified position in an existing string. Diese Methode setzt einen nullbasierten Index voraus.This method assumes a zero-based index.

Im folgenden Beispiel werden ausgehend von der fünften Position des nullbasierten Zeichenfolgenindizes zehn Zeichen aus einer Zeichenfolge entfernt.The following example removes ten characters from a string beginning at position five of a zero-based index of the string.

String^ MyString = "Hello Beautiful World!";
Console::WriteLine(MyString->Remove(5,10));
// The example displays the following output:
//         Hello World!        
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!        

Sie können auch ein bestimmtes Zeichen oder eine Teilzeichenfolge aus einer Zeichenfolge entfernen, indem Sie die String.Replace(String, String)-Methode aufrufen und eine leere Zeichenfolge (String.Empty) zum Ersetzen angeben.You can also remove a specified character or substring from a string by calling the String.Replace(String, String) method and specifying an empty string (String.Empty) as the replacement. Im folgenden Beispiel werden alle Kommas in einer Zeichenfolge entfernt.The following example removes all commas from a string.

using System;

public class Example
{
   public static void Main()
   {
      String phrase = "a cold, dark night";
      Console.WriteLine("Before: {0}", phrase);
      phrase = phrase.Replace(",", "");
      Console.WriteLine("After: {0}", 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

Siehe auchSee also