2010-10-11 35 views
15

¿Cómo eliminar espacios en blanco entre caracteres en C#?Cómo recortar espacios en blanco entre caracteres

Trim() se puede utilizar para eliminar los espacios vacíos al principio de la cadena, así como al final. Por ejemplo, " C Sharp ".Trim() resultados "C Sharp".

¿Pero cómo hacer la cadena en CSharp? Podemos eliminar el espacio usando un loop for o for each junto con una variable temporal. ¿Pero hay algún método incorporado en C#(.Net framework 3.5) para hacer esto como Trim()?

+0

[No construido en un método,] (http: // dotnetperls.com/remove-whitespace) pero bastante simple –

Respuesta

33

Usted podría utilizar String.Replace método

string str = "C Sharp"; 
str = str.Replace(" ", ""); 

o si desea eliminar todos los caracteres de espacio en blanco (espacio, tabulaciones, saltos de línea ...)

string str = "C Sharp"; 
str = Regex.Replace(str, @"\s", ""); 
+0

oh .... sí. Obtuve el método 'replace'. Gracias –

+2

Eso simplemente reemplaza los espacios, no el espacio en blanco (los dos no son lo mismo) –

+0

@Paul, tienes razón, gracias. He actualizado mi respuesta. –

0
string myString = "C Sharp".Replace(" ", ""); 
+1

Empty character literal '' produce un error de compilación. –

+1

reemplazar '''' en '" "' –

2

Uso String.Replace para reemplazar todo espacio en blanco sin nada.

por ejemplo

string newString = myString.Replace(" ", ""); 
+2

Eso simplemente reemplaza (ascii) el espacio, no todos los espacios en blanco? Vea la discusión aquí http://msdn.microsoft.com/en-us/library/t97s7bs3.aspx –

+0

-1: No puede tener un carácter vacío literal. – Richard

+0

@Paul Discusión ¿dónde? Ese enlace es sobre String.Trim – w69rdy

0

me encontré con este método muy bueno para hacer las cosas como la construcción de una clase que utiliza una propiedad calculada para tomar digamos un "productName" y separar el espacio en blanco para crear un URL que será igual a una imagen que usa el nombre del producto sin espacios. Por ejemplo:

namespace XXX.Models 
    { 
     public class Product 
     { 
      public int ProductID { get; set; } 
      public string ProductName { get; set; } 
      public string ProductDescription { get; set; } 

      public string ProductImage 
      { 
       get { return ProductName.Replace(" ", string.Empty) + ".jpg"; } 
      } 
     } 
    } 

Así que en esta respuesta que han utilizado un método muy similar al w69rdy, sino que se utiliza en un ejemplo, además de que se usa String.Empty lugar de "". Y aunque después de .Net 2.0 no hay diferencia, me resulta mucho más fácil de leer y entender para otros que puedan necesitar leer mi código. También prefiero esto porque a veces me pierdo en todas las citas que pueda tener en un bloque de código.

1

Si desea mantener un espacio entre cada palabra. esto debe hacerlo ..

public static string TrimSpacesBetweenString(string s) 
    { 
     var mystring =s.RemoveTandNs().Split(new string[] {" "}, StringSplitOptions.None); 
     string result = string.Empty; 
     foreach (var mstr in mystring) 
     { 
      var ss = mstr.Trim(); 
      if (!string.IsNullOrEmpty(ss)) 
      { 
       result = result + ss+" "; 
      } 
     } 
     return result.Trim(); 

    } 

que eliminará la cadena en la cadena entre por lo que si la entrada es

var s ="c   sharp"; 
result will be "c sharp"; 
+2

'string.Join (" ", s.Split (nuevo char [0], StringSplitOptions.RemoveEmptyEntries) .ToList(). Seleccione (w => w. Trim())); ' –

1
//Remove spaces from a string just using substring method and a for loop 
static void Main(string[] args) 
{ 
    string businessName; 
    string newBusinessName = ""; 
    int i; 

    Write("Enter a business name >>> "); 
    businessName = ReadLine(); 

    for(i = 0; i < businessName.Length; i++) 
    { 
     if (businessName.Substring(i, 1) != " ") 
     { 
      newBusinessName += businessName.Substring(i, 1); 
     } 
    } 

    WriteLine("A cool web site name could be www.{0}.com", newBusinessName); 
} 
+0

Para cadenas más largas, es preferible usar' StringBuilder' en lugar de '+ =', ya que no recrea el objeto String con cada concatenación. –

Cuestiones relacionadas