2012-06-13 43 views
18

Quería saber cómo representar un carácter de espacio en blanco en C#. Encontré la representación de cadena vacía string.Empty. ¿Hay algo así que represente un personaje de espacio en blanco?Cómo representar correctamente un carácter de espacio en blanco

me gustaría hacer algo como esto:

test.ToLower().Split(string.Whitespace) 
//test.ToLower().Split(Char.Whitespace) 
+1

podría no ser sólo un único espacio? (¿o el ascii equivilant?) – Limey

+1

El espacio en blanco es un conjunto de caracteres. –

+0

Posible duplicado de [Mejor forma de especificar espacios en blanco en una operación String.Split] (http://stackoverflow.com/questions/6111298/best-way-to-specify-whitespace-in-a-string-split-operation) – nevermind

Respuesta

17

¿Cuál personaje de espacio en blanco? La cadena vacía es bastante inequívoca: es una secuencia de 0 caracteres. Sin embargo, " ", "\t" y "\n" son todas las cadenas que contienen un solo carácter que se caracteriza como espacios en blanco.

Si solo quiere decir un espacio, use un espacio. Si se refiere a algún otro personaje de espacio en blanco, puede haber una secuencia de escape personalizada para él (por ejemplo, "\t" para la pestaña) o puede usar una secuencia de escape Unicode ("\uxxxx"). Desanimaría que no incluya caracteres que no sean ASCII en su código fuente, especialmente en el espacio en blanco.

EDIT: Ahora que has explicado lo que quiere hacer (que debería haber sido en su pregunta para empezar) que sería mejor usar Regex.Split con una expresión regular de \s que representa el espacio en blanco:

Regex regex = new Regex(@"\s"); 
string[] bits = regex.Split(text.ToLower()); 

Consulte la documentación Regex Character Classes para obtener más información sobre otras clases de caracteres.

+0

Hola, me refiero a esta publicación http://stackoverflow.com/ questions/6111298/best-way-to-specify-whitespace-in-a-string-split-operation. Como yo tuve el mismo problema. Tengo un archivo csv donde el espacio no coincidía '' en la función de división. Me gustaría poner string.Whitespace en la función si existe. – Luke101

+0

@ Luke101: Hubiera sido útil si hubiera dicho todo esto para empezar. Ver mi edición, básicamente debe usar expresiones regulares. –

+0

Perfecto, exactamente lo que necesito. Perdón por el malentendido. Se aclararán las publicaciones en el futuro. – Luke101

4

No, no es tan constante.

1

¿Qué personaje de espacio en blanco? El más común es el espacio normal, que está entre cada palabra en mis oraciones. Esto es solo " ".

+0

Utilicé "ESPACIO" en lugar de "ESPACIO" para representar el carácter de espacio en C# – Zeeshanef

+4

'''' es un 'char',' "" 'es una' cadena'. En el contexto de 'Split', el 'char' es probablemente lo que quiere usar. Así que sí, tienes razón –

+0

Gracias ... necesitas editar tu respuesta y agregar este comentario como respuesta. Ahora tiene más votaciones que tu respuesta. – Equiman

1

Uso de expresiones regulares, que puede representar cualquier carácter de espacio en blanco con el meta-carácter "\ s"

MSDN Reference

Cuestiones relacionadas