Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

Recortar y quitar caracteres de cadenas en .NET Framework

 

Si va a analizar una frase en las palabras que la forman, el resultado pueden ser palabras con espacios en blanco delante y detrás. En este caso, puede usar uno de los métodos de recorte de la clase System.String para quitar espacios u otros caracteres de una posición especificada de la cadena. En la tabla siguiente se describen los métodos de recorte disponibles.

Nombre del método

Utilice

String.Trim

Quita del comienzo y del final de una cadena los espacios en blanco o los caracteres especificados en una matriz de caracteres.

String.TrimEnd

Quita los caracteres especificados de una matriz de caracteres del final de una cadena.

String.TrimStart

Quita los caracteres especificados de una matriz de caracteres del comienzo de una cadena.

String.Remove

Quita un número especificado de caracteres de una posición de índice especificada de una cadena.

Los espacios en blanco situados delante y detrás de una cadena se pueden quitar fácilmente con el método String.Trim, como se muestra en el ejemplo siguiente.

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!

También se pueden quitar del principio y el final de una cadena los caracteres especificados en una matriz de caracteres. En el ejemplo siguiente se quitan los caracteres de espacio en blanco, los puntos y 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

El método String.TrimEnd quita caracteres del final de una cadena, creando un nuevo objeto de cadena. A este método se le pasa una matriz de caracteres para especificar los caracteres que se van a quitar. El orden de los elementos en 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 con el método TrimEnd. En este ejemplo, se invierte la posición de los caracteres 'r' y 'W' para ilustrar que el orden de los caracteres en la matriz no tiene importancia. Observe 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);

Con este código se muestra He en la consola.

En el ejemplo siguiente se quita la última palabra de una cadena con el método TrimEnd. En este código hay una coma después de Hello y, como la coma no está especificada en la matriz de caracteres que se deben recortar, la operación se detiene en la coma.

string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

Con este código se muestra Hello, en la consola.

El método String.TrimStart es parecido al método String.TrimEnd, con la diferencia de que crea una nueva cadena quitando caracteres del comienzo de un objeto de cadena existente. Al método TrimStart se le pasa una matriz de caracteres para especificar los caracteres que se van a quitar. Lo mismo que en el método TrimEnd, el orden de los elementos en 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 siguiente ejemplo se quita la primera palabra de una cadena. En este ejemplo, se invierte la posición de los caracteres 'l' y 'H' para ilustrar que el orden de los caracteres en la matriz no tiene importancia.

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

Con este código se muestra World! en la consola.

El método String.Remove quita un número especificado de caracteres, comenzando en una posición especificada de una cadena existente. Este método utiliza un índice basado en cero.

En el ejemplo siguiente se quitan diez caracteres de una cadena, comenzando en 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!        

También puede quitar un carácter o una subcadena de una cadena llamando al método String.Replace(String, String) 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: {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
Mostrar: