Compartir a través de


Recorte y eliminación de caracteres de cadenas en .NET

Si va a analizar una oración en palabras individuales, es posible que termine con palabras que tengan espacios en blanco (también denominados espacios en blanco) en cualquier extremo de la palabra. En esta situación, puede usar uno de los métodos de recorte de la System.String clase para quitar cualquier número de espacios u otros caracteres de una posición especificada en la cadena. En la tabla siguiente se describen los métodos de recorte disponibles:

Nombre del método Uso
String.Trim Quita los espacios en blanco o los caracteres especificados en una matriz de caracteres del principio y el final de una cadena.
String.TrimEnd Quita los caracteres especificados en una matriz de caracteres del final de una cadena.
String.TrimStart Quita los caracteres especificados en una matriz de caracteres desde el principio de una cadena.
String.Remove Quita un número especificado de caracteres de una posición de índice especificada en una cadena.

Recortar

Puede quitar fácilmente los espacios en blanco de ambos extremos de una cadena mediante el String.Trim método , como se muestra en el ejemplo siguiente:

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!        

También puede quitar caracteres que especifique en una matriz de caracteres desde el principio y el final de una cadena. En el ejemplo siguiente se quitan los caracteres de espacio en blanco, los puntos y los 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 (Fin de recorte)

El String.TrimEnd método quita los caracteres del final de una cadena, creando un nuevo objeto de cadena. Se pasa una matriz de caracteres a este método para especificar los caracteres que se van a quitar. El orden de los elementos de la matriz de caracteres no afecta a la operación de recorte. El recorte se detiene cuando se encuentra un carácter no especificado en la matriz.

En el ejemplo siguiente se quitan las últimas letras de una cadena mediante el TrimEnd método . En este ejemplo, la posición del 'r' carácter y el 'W' carácter se invierten para ilustrar que el orden de los caracteres de la matriz no importa. Tenga en cuenta que este código quita la última palabra de MyString y parte de la primera.

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 muestra He en la consola.

En el ejemplo siguiente se quita la última palabra de una cadena mediante el TrimEnd método . En este código, una coma sigue la palabra Hello y porque la coma no se especifica en la matriz de caracteres que se va a recortar, el recorte termina en la coma.

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 muestra Hello, en la consola.

TrimStart (en inglés)

El String.TrimStart método es similar al String.TrimEnd método, salvo que crea una nueva cadena quitando caracteres del principio de un objeto de cadena existente. Se pasa una matriz de caracteres al TrimStart método para especificar los caracteres que se van a quitar. Al igual que con el TrimEnd método , el orden de los elementos de la matriz de caracteres no afecta a la operación de recorte. El recorte se detiene cuando se encuentra un carácter no especificado en la matriz.

En el ejemplo siguiente se quita la primera palabra de una cadena. En este ejemplo, la posición del 'l' carácter y el 'H' carácter se invierten para ilustrar que el orden de los caracteres de la matriz no 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 muestra World! en la consola.

Eliminar

El String.Remove método quita un número especificado de caracteres que comienzan en una posición especificada en una cadena existente. Este método supone un índice de base cero.

En el ejemplo siguiente se quitan 10 caracteres de una cadena a partir de la posición cinco de un índice de base cero de la cadena.

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!        

Reemplazar

También puede quitar un carácter o subcadena especificados de una cadena llamando al String.Replace(String, String) método y especificando una cadena vacía (String.Empty) como reemplazo. En el ejemplo siguiente se quitan todas las comas de una cadena:

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 también