Quiero reemplazar los más de 2 espacios en blanco en una cadena pero no nuevas líneas, tengo esta expresión regular: \s{2,}
pero también coincide con nuevas líneas.
¿Cómo puedo hacer coincidir solo 2 o más espacios en blanco y no nuevas líneas?
Estoy usando c #
Respuestas:
Coloque los caracteres de espacio en blanco que desea hacer coincidir dentro de una clase de carácter. Por ejemplo:
[ \t]{2,}
coincide con 2 o más espacios o tabulaciones.
También puedes hacer:
[^\S\r\n]{2,}
que coincide con cualquier carácter de espacio en blanco excepto
\r
y\n
al menos dos veces (tenga en cuenta que la capitalS
en\S
es la abreviatura de[^\s]
).fuente
\s{2,}
tomar nuevas líneas a continuación? Si fuera así\n\s{2,}
, lo entendería. ¿Y por qué funciona escribir un espacio literal entre corchetes?\s
coincide con espacios, tabulaciones y saltos de línea. "¿Y por qué funciona escribir un espacio literal entre corchetes?", Bueno, err, porque sí. No sé qué más decir sobre eso :)Regex para apuntar solo a dos espacios: [] {2,} Los corchetes en regex son la clase de carácter. Es decir, solo los caracteres allí. Aquí solo espacio. El siguiente corchete significa dos o más veces.
fuente