Eu quero substituir todos os mais de 2 espaços em branco em uma string, mas não novas linhas, eu tenho esta regex: \s{2,}
mas também está combinando novas linhas.
Como posso combinar 2 ou mais espaços em branco apenas e não novas linhas?
Estou usando c #
Respostas:
Coloque os caracteres de espaço em branco que você deseja combinar dentro de uma classe de personagem. Por exemplo:
[ \t]{2,}
corresponde a 2 ou mais espaços ou tabulações.
Você também pode fazer:
[^\S\r\n]{2,}
que corresponde a qualquer caractere de espaço em branco, exceto
\r
e\n
pelo menos duas vezes (observe que a letra maiúsculaS
em\S
é abreviação de[^\s]
).fonte
\s{2,}
pegar novas linhas depois disso? Se fosse,\n\s{2,}
eu entenderia. E por que digitar um espaço literal entre colchetes funciona?\s
corresponde a espaços, tabulações e quebras de linha. "E por que digitar um espaço literal entre colchetes funciona?", Bem, errar, porque funciona. Não sei mais o que dizer sobre isso :)Regex para atingir apenas dois espaços: [] {2,} Os colchetes em regex são classes de caracteres. Significa apenas os caracteres lá. Aqui apenas espaço. A seguinte chave significa duas ou mais vezes.
fonte