Condividi tramite


Eliminazione di spazi iniziali e finali e rimozione di caratteri

Aggiornamento: novembre 2007

Quando si suddivide una frase in parole singole è possibile che prima o dopo le parole rimangano spazi vuoti. In questo caso è possibile utilizzare uno dei metodi della classe System.String per rimuovere spazi o altri caratteri da una posizione specificata all'interno della stringa. Nella tabella che segue sono descritti i metodi disponibili per l'eliminazione degli spazi iniziali e finali.

Nome del metodo

Utilizzo

String.Trim

Consente di rimuovere gli spazi vuoti all'inizio e alla fine di una stringa.

String.TrimEnd

Consente di rimuovere i caratteri specificati in una matrice di caratteri dalla fine di una stringa.

String.TrimStart

Consente di rimuovere i caratteri specificati in una matrice di caratteri dall'inizio di una stringa.

String.Remove

Consente di rimuovere un numero specificato di caratteri da una posizione di indice specificata in una stringa.

Trim

È possibile rimuovere facilmente gli spazi vuoti da entrambe le estremità di una stringa utilizzando il metodo String.Trim, come illustrato nell'esempio di codice che segue.

Dim MyString As String = " Big   "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
String MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString );    
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString );

Nella console vengono visualizzate le righe che seguono:

Hello Big   World!
HelloBigWorld! 

TrimEnd

Il metodo String.TrimEnd consente di rimuovere caratteri dalla fine di una stringa, creando un nuovo oggetto stringa. Una matrice di caratteri viene passata al metodo per specificare i caratteri da rimuovere. L'ordine degli elementi nella matrice di caratteri non ha effetto sull'eliminazione degli spazi iniziali e finali. L'eliminazione di spazi iniziali e finali ha termine quando viene individuato un carattere non specificato nella matrice.

Nell'esempio che segue vengono rimosse le ultime lettere di una stringa utilizzando il metodo TrimEnd. La posizione dei caratteri 'r' e 'W' è invertita, per indicare che l'ordine dei caratteri nella matrice è ininfluente. Si noti che viene rimossa l'ultima parola di MyString più una parte della prima.

Dim MyString As String = "Hello World!"
Dim MyChar As Char() =  {"r"c, "o"c, "W"c, "l"c, "d"c, "!"c, " "c }
Dim NewString As String = 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);

Nella console verrà visualizzato He.

Nell'esempio che segue viene rimossa l'ultima parola di una stringa utilizzando il metodo TrimEnd. La parola Hello è preceduta nel codice da una virgola e, poiché questo segno di punteggiatura non è specificato nella matrice di caratteri di cui eliminare gli spazi iniziali e finali, il codice termina in corrispondenza della virgola.

Dim MyString As String = "Hello, World!"
Dim MyChar As Char() =  {"r"c, "o"c, "W"c, "l"c, "d"c, "!"c, " "c }
Dim NewString As String = 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);

Nella console verrà visualizzato Hello,.

TrimStart

Il metodo String.TrimStart è analogo a String.TrimEnd, fatta eccezione per il fatto che consente di creare una nuova stringa rimuovendo i caratteri dall'inizio di un oggetto stringa esistente. Una matrice di caratteri viene passata al metodo TrimStart per specificare i caratteri da rimuovere. Come per il metodo TrimEnd, l'ordine degli elementi nella matrice di caratteri non ha effetto sull'eliminazione di spazi iniziali e finali. L'eliminazione di spazi iniziali e finali ha termine quando viene individuato un carattere non specificato nella matrice.

Nell'esempio che segue viene rimossa la prima parola di una stringa. La posizione dei caratteri 'l' e 'H' è invertita, per indicare che l'ordine dei caratteri nella matrice è ininfluente.

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

Nella console verrà visualizzato World!.

Remove

Il metodo String.Remove consente di rimuovere un numero specificato di caratteri a partire da una posizione specificata in una stringa esistente. Il metodo presuppone un indice a base zero.

Nell'esempio che segue vengono rimossi da una stringa dieci caratteri, a partire dalla quinta posizione di un indice a base zero della stringa.

Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5, 10))
string MyString = "Hello Beautiful World!";   
Console.WriteLine(MyString.Remove(5,10));

Nella console verrà visualizzato Hello World!.

Vedere anche

Altre risorse

Operazioni di base sulle stringhe