Cortar e remover caracteres de cadeias de caracteres no .NET
Se você estiver analisando uma frase em palavras individuais, pode acabar com palavras que têm espaços em branco (também chamados de espaços em branco) em qualquer extremidade da palavra. Nessa situação, você pode usar um dos métodos trim 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 | Utilizar |
---|---|
String.Trim | Remove espaços em branco ou caracteres especificados em uma matriz de caracteres do início e do fim 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. |
Trim
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{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!
Você também pode remover caracteres especificados em uma matriz de caracteres do início e do fim de uma cadeia de caracteres. O exemplo a seguir remove caracteres de espaço em branco, pontos 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 string. 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 trim para 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 caractere e do 'W'
caractere são invertidos 'r'
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!";
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)
Esse código é exibido He
no console.
O exemplo a seguir remove a última palavra de uma cadeia de caracteres usando o TrimEnd
método. Neste código, uma vírgula segue a palavra Hello
e, como a vírgula não é especificada na matriz de caracteres a cortar, a vírgula termina na vírgula.
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)
Esse código é exibido Hello,
no console.
TrimStart
O String.TrimStart
método é semelhante ao método, String.TrimEnd
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. Tal como acontece com o TrimEnd
método, a ordem dos elementos na matriz de caracteres não afeta a operação de corte. O trim para 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 caractere e do 'H'
caractere são invertidos 'l'
para ilustrar que a ordem dos caracteres na matriz não importa.
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)
Esse código é exibido World!
no console.
Remover
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. Este método assume um índice baseado em zero.
O exemplo a seguir remove 10 caracteres de uma cadeia de caracteres que começa 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!
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!
Replace
Você também pode remover um caractere ou substring especificado de uma string chamando o String.Replace(String, String) método e especificando uma string 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: {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