Voglio sostituire tutti più di 2 spazi bianchi in una stringa ma non nuove righe, ho questa regex: \s{2,}ma sta anche abbinando nuove righe.
Come posso abbinare solo 2 o più spazi bianchi e non nuove righe?
Sto usando c #
Voglio sostituire tutti più di 2 spazi bianchi in una stringa ma non nuove righe, ho questa regex: \s{2,}ma sta anche abbinando nuove righe.
Come posso abbinare solo 2 o più spazi bianchi e non nuove righe?
Sto usando c #
Risposte:
Metti gli spazi bianchi che vuoi abbinare all'interno di una classe di caratteri. Per esempio:
[ \t]{2,}
corrisponde a 2 o più spazi o tabulazioni.
Potresti anche fare:
[^\S\r\n]{2,}
che corrisponde a qualsiasi carattere di spazio vuoto tranne \re \nalmeno due volte (nota che la maiuscola Sin \Sè l'abbreviazione di [^\s]).
\s{2,}afferra le nuove righe che la procede? Se lo fosse, \n\s{2,}capirei. E perché funziona la digitazione di uno spazio letterale tra parentesi?
\scorrisponde a spazi, tabulazioni e interruzioni di riga. "E perché funziona digitare uno spazio letterale tra parentesi?", Beh, ehm, perché lo fa. Non so cos'altro dire al riguardo :)