Respuestas:
Usa clases de personajes: [ \t]
\t
?
Como señaló @ Eiríkr Útlendi, la solución aceptada solo considera dos espacios en blanco: la tabulación horizontal (U + 0009) y un espacio de ruptura (U + 0020). No tiene en cuenta otros caracteres de espacio en blanco, como los espacios que no se rompen (que están en el texto con el que estoy tratando de tratar). Se incluye una lista de caracteres de espacio en blanco más completa en Wikipedia y también se hace referencia en la respuesta de Perl vinculada . Se puede construir una solución simple de C # que tenga en cuenta estos otros caracteres mediante la resta de clases de caracteres
[\s-[\r\n]]
o, incluyendo la solución de Eiríkr Útlendi, obtienes
[\s\u3000-[\r\n]]
Nota: Para aquellos que se ocupan de texto CJK (chino, japonés y coreano), el espacio de doble byte (Unicode \u3000
) no está incluido en \s
ninguna implementación que haya probado hasta ahora (Perl, .NET, PCRE, Python). Primero deberá normalizar sus cadenas (por ejemplo, reemplazando todas \u3000
con \u0020
), o tendrá que usar un conjunto de caracteres que incluya este punto de código además de cualquier otro espacio en blanco al que se dirija, como [ \t\u3000]
.
Si está utilizando Perl o PCRE, tiene la opción de utilizar la \h
abreviatura de espacio en blanco horizontal , que parece incluir el espacio de un solo byte, el espacio de doble byte y la pestaña, entre otros. Consulte el hilo Coincidir espacios en blanco pero no líneas nuevas (Perl) para obtener más detalles.
Sin embargo, esta \h
abreviatura no se ha implementado para .NET y C #, lo mejor que he podido decir.
\h
(introducido en Java 8) incluye \u3000
, pero \s
no, a menos que establezca el modo UNICODE_CHARACTER_CLASS (introducido en Java 7).
Si desea reemplazar el espacio debajo del código, funcionó para mí enC#
Regex.Replace(Line,"\\\s","");
Para pestaña
Regex.Replace(Line,"\\\s\\\s","");
\h
clase de carácter solo de Perl , pero muestra que hay muchos otros caracteres de espacio en blanco, en caso de que necesite agregarlos a la lista aquí.