Compartilhar via


Cortar e remover caracteres de cadeias de caracteres no .NET

Se você estiver analisando uma frase em palavras individuais, poderá acabar com palavras que têm espaços em branco (também chamados de espaços brancos) em ambas as extremidades da palavra. Nessa situação, você pode usar um dos métodos de corte na System.String classe para remover qualquer número de espaços ou outros caracteres de uma posição especificada na cadeia de caracteres. A tabela a seguir descreve os métodos de corte disponíveis:

Nome do método Utilização
String.Trim Remove espaços em branco ou caracteres especificados em uma matriz de caracteres do início e do final de uma cadeia de caracteres.
String.TrimEnd Remove caracteres especificados em uma matriz de caracteres do final de uma cadeia de caracteres.
String.TrimStart Remove caracteres especificados em uma matriz de caracteres do início de uma cadeia de caracteres.
String.Remove Remove um número especificado de caracteres de uma posição de índice especificada em uma cadeia de caracteres.

Aparar

Você pode remover facilmente espaços em branco de ambas as extremidades de uma cadeia de caracteres usando o String.Trim método, conforme mostrado no exemplo a seguir:

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!        

Você também pode remover caracteres especificados em uma matriz de caracteres desde o início e o final de uma cadeia de caracteres. O exemplo a seguir remove caracteres de espaço em branco, períodos e asteriscos:

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

O String.TrimEnd método remove caracteres do final de uma cadeia de caracteres, criando um novo objeto de cadeia de caracteres. Uma matriz de caracteres é passada para esse método para especificar os caracteres a serem removidos. A ordem dos elementos na matriz de caracteres não afeta a operação de corte. O corte é interrompido quando um caractere não especificado na matriz é encontrado.

O exemplo a seguir remove as últimas letras de uma cadeia de caracteres usando o TrimEnd método. Neste exemplo, a posição do 'r' caractere e do 'W' caractere são invertidas para ilustrar que a ordem dos caracteres na matriz não importa. Observe que esse código remove a última palavra de MyString mais parte da primeira.

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)

Este código exibe He no console.

O exemplo a seguir remove a última palavra de uma cadeia de caracteres usando o TrimEnd método. Nesse código, uma vírgula segue a palavra Hello e, como a vírgula não é especificada na matriz de caracteres a serem aparados, o corte termina na vírgula.

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)

Este código exibe Hello, no console.

Aparar Início

O String.TrimStart método é semelhante ao String.TrimEnd método, exceto que ele cria uma nova cadeia de caracteres removendo caracteres do início de um objeto de cadeia de caracteres existente. Uma matriz de caracteres é passada para o TrimStart método para especificar os caracteres a serem removidos. Assim como acontece com o TrimEnd método, a ordem dos elementos na matriz de caracteres não afeta a operação de corte. O corte é interrompido quando um caractere não especificado na matriz é encontrado.

O exemplo a seguir remove a primeira palavra de uma cadeia de caracteres. Neste exemplo, a posição do 'l' caractere e do 'H' caractere são invertidas para ilustrar que a ordem dos caracteres na matriz não importa.

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)

Este código exibe World! no console.

Retirar

O String.Remove método remove um número especificado de caracteres que começam em uma posição especificada em uma cadeia de caracteres existente. Esse método pressupõe um índice baseado em zero.

O exemplo a seguir remove 10 caracteres de uma cadeia de caracteres começando na posição cinco de um índice baseado em zero da cadeia de caracteres.

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!        

Substituir

Você também pode remover um caractere ou subcadeia de caracteres especificado de uma cadeia de caracteres chamando o String.Replace(String, String) método e especificando uma cadeia de caracteres vazia (String.Empty) como a substituição. O exemplo a seguir remove todas as vírgulas de uma cadeia de caracteres:

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

Consulte também