Eliminazione di spazi iniziali e finali e rimozione di caratteri dalle stringhe in .NETTrimming and Removing Characters from Strings in .NET

Se si sta analizzando una frase in singole parole, è possibile che si ottengano parole con spazi vuoti alle estremità.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 questo caso è possibile usare uno dei metodi trim della classe System.String per rimuovere un numero qualsiasi di spazi o altri caratteri da una posizione specificata nella stringa.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. La tabella seguente illustra i metodi trim disponibili.The following table describes the available trim methods.

Nome metodoMethod name UsaUse
String.Trim Rimuove gli spazi vuoti o i caratteri specificati in una matrice di caratteri all'inizio e alla fine di una stringa.Removes white spaces or characters specified in an array of characters from the beginning and end of a string.
String.TrimEnd Rimuove i caratteri specificati in una matrice di caratteri alla fine di una stringa.Removes characters specified in an array of characters from the end of a string.
String.TrimStart Rimuove i caratteri specificati in una matrice di caratteri all'inizio di una stringa.Removes characters specified in an array of characters from the beginning of a string.
String.Remove Rimuove un numero specificato di caratteri da una posizione di indice specificata in una stringa.Removes a specified number of characters from a specified index position in a string.

TrimTrim

È possibile rimuovere facilmente gli spazi vuoti da entrambe le estremità di una stringa utilizzando il metodo String.Trim, come illustrato nell'esempio seguente.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!        

È anche possibile rimuovere i caratteri specificati in una matrice di caratteri all'inizio e alla fine di una stringa.You can also remove characters that you specify in a character array from the beginning and end of a string. Nell'esempio seguente vengono rimossi gli spazi vuoti, i punti e gli asterischi.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

Il metodo TrimEnd rimuove caratteri alla fine di una stringa, creando un nuovo oggetto stringa.The String.TrimEnd method removes characters from the end of a string, creating a new string object. Una matrice di caratteri viene passata a questo metodo per specificare i caratteri da rimuovere.An array of characters is passed to this method to specify the characters to be removed. L'ordine degli elementi nella matrice di caratteri non influenza l'operazione di rimozione.The order of the elements in the character array does not affect the trim operation. La rimozione si interrompe quando viene trovato un carattere non specificato nella matrice.The trim stops when a character not specified in the array is found.

L'esempio seguente rimuove le ultime lettere di una stringa con il metodo TrimEnd.The following example removes the last letters of a string using the TrimEnd method. In questo esempio la posizione dei caratteri 'r' e 'W' viene invertita per indicare che l'ordine dei caratteri nella matrice non è importante.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. Si noti che questo codice rimuove l'ultima parola di MyString e una parte della prima parola.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)

Il codice visualizza He nella console.This code displays He to the console.

L'esempio seguente rimuove l'ultima parola di una stringa con il metodo TrimEnd.The following example removes the last word of a string using the TrimEnd method. In questo codice la parola Hello è seguita da una virgola: dato che la virgola non è specificata nella matrice di caratteri da tagliare, l'operazione di taglio termina in corrispondenza della virgola.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)

Il codice visualizza Hello, nella console.This code displays Hello, to the console.

TrimStartTrimStart

Il metodo String.TrimStart è simile al metodo String.TrimEnd ma crea una nuova stringa rimuovendo caratteri dall'inizio di un oggetto stringa esistente.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. Una matrice di caratteri viene passata al metodo TrimStart per specificare i caratteri da rimuovere.An array of characters is passed to the TrimStart method to specify the characters to be removed. Come per il metodo TrimEnd, l'ordine degli elementi nella matrice di caratteri non è importante per l'operazione di rimozione.As with the TrimEnd method, the order of the elements in the character array does not affect the trim operation. La rimozione si interrompe quando viene trovato un carattere non specificato nella matrice.The trim stops when a character not specified in the array is found.

L'esempio seguente rimuove la prima parola di una stringa.The following example removes the first word of a string. In questo esempio la posizione dei caratteri 'l' e 'H' viene invertita per indicare che l'ordine dei caratteri nella matrice non è importante.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)

Il codice visualizza World! nella console.This code displays World! to the console.

RimuoviRemove

Tramite il metodo String.Remove viene rimosso un numero specificato di caratteri a partire da una posizione specificata in una stringa esistente.The String.Remove method removes a specified number of characters that begin at a specified position in an existing string. Questo metodo presuppone un indice a base zero.This method assumes a zero-based index.

L'esempio seguente rimuove dieci caratteri da una stringa a partire dalla posizione cinque di un indice a base zero della stringa.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!        

SostituisciReplace

È anche possibile rimuovere da una stringa una sottostringa o un carattere specificato chiamando il metodo String.Replace(String, String) e specificando, in sostituzione, una stringa vuota (String.Empty).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. Nell'esempio seguente vengono rimosse tutte le virgole da una stringa.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

Vedere ancheSee also