Aparando e Removendo Caracteres
Se você estiver analisando uma frase em palavras individuais, você pode terminar com palavras que tenham espaços vazios (também chamados espaços em branco) em ambos os lados da palavra. Nesta situação, você pode usar um dos métodos de preparo na classe System.String para remover qualquer número de espaços ou outros caracteres de uma posição especificada na sequência de caracteres. A tabela a seguir descreve os métodos de preparo disponíveis.
Nome do Método |
Uso |
---|---|
Remove os espaços em branco do início e do fim de uma sequência de caracteres. |
|
Remove caracteres especificados em uma matriz a partir do final de uma sequência de caracteres. |
|
Remove caracteres especificados em uma matriz a partir do começo de uma sequência de caracteres. |
|
Remove um número especificado de caracteres a partir de uma determinada posição de índice em uma sequência de caracteres. |
Trim
Você pode facilmente remover espaços em branco de ambas as extremidades de uma sequência de caracteres usando o método String.Trim, conforme mostrado no exemplo a seguir.
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);
String^ MyString = " Big ";
Console::WriteLine("Hello{0}World!", MyString);
String^ TrimString = 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);
Este código exibe as seguintes linhas no console.
Hello Big World!
HelloBigWorld!
TrimEnd
O método String.TrimEnd remove caracteres a partir do final de uma sequência de caracteres, criando um novo objeto de sequência de caracteres. Uma matriz de caracteres é passada para este método para especificar os caracteres a serem removidos. A ordem dos elementos na matriz de caracteres não afeta a operação de preparo. O preparo para quando encontra um caractere não especificado na matriz.
O exemplo a seguir remove as últimas letras de uma sequência de caracteres usando o método TrimEnd. Nesse exemplo, a posição do caractere 'r' e o caractere 'W' são revertidas para ilustrar que a ordem de caracteres na matriz não importa. Observe que este código remove a última palavra de MyString mais uma parte da primeira.
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)
string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
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);
Este código exibe He no console.
O exemplo a seguir remove as últimas letras de uma sequência de caracteres usando o método TrimEnd. Nesse código, uma vírgula segue a palavra Hello e, devido a vírgula não ser especificada na matriz de caracteres a ser preparada, o preparo termina no ponto-e-vírgula.
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)
string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
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);
Este código exibe Hello, no console.
TrimStart
O método String.TrimStart é semelhante ao método String.TrimEnd exceto pelo fato de que ele cria uma nova sequência removendo caracteres do início de um objeto existente de sequência de caracteres. Uma matriz de caracteres é passada para o método TrimStart para especificar os caracteres a serem removidos. Assim como o método TrimEnd, a ordem dos elementos na matriz de caracteres não afeta a operação de preparo. O preparo para quando encontra um caractere não especificado na matriz.
O exemplo a seguir remove a primeira palavra de uma sequência de caracteres. Nesse exemplo, a posição do caractere 'l' e o caractere 'H' são revertidas para ilustrar que a ordem de caracteres na matriz não importa.
Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"e","H","l","o"," " }
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);
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);
Este código exibe World! no console.
Remove
O método String.Remove, começando na posição especificada em uma sequência existente, remove um número especificado de caracteres. Este método assume um índice com base zero.
O exemplo a seguir remove dez caracteres de uma sequência começando na posição cinco de um índice com base zero da sequência de caracteres.
Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5,10))
string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));
String^ MyString = "Hello Beautiful World!";
Console::WriteLine(MyString->Remove(5,10));
string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));
Este código exibe Hello World! no console.