Il tipo char di C# è una quantità di 16 bit che rappresenta le più piccole componenti indirizzabili di un testo.
Più char possono comporre una stringa come "word", oppure i char possono essere elaborati singolarmente. I loro letterali usano gli apici singoli, ad esempio 'A'.
I char di C# supportano la codifica Unicode UTF-16, quindi oltre ai caratteri latini si possono rappresentare praticamente tutti i sistemi di scrittura usati nel mondo, ad esempio la lettera greca 'β'.
Esistono molti metodi di libreria integrati per ispezionare e manipolare i char. Li si trova come metodi statici della classe System.Char.
A volte i char si usano insieme a un oggetto StringBuilder.
Questo oggetto ha metodi che permettono di costruire una stringa carattere per carattere e di manipolarla. Alla fine del processo si può chiamare ToString su di esso per ottenere in output una stringa completa.
In questo esercizio implementerai una serie parziale di routine di utilità per aiutare uno sviluppatore a ripulire i nomi degli identificatori.
Nelle 5 attività costruirai gradualmente la routine Clean.
Un identificatore valido è composto da zero o più lettere e caratteri di sottolineatura.
In tutti i casi, è garantito che la stringa di input non sia nulla.
Se alla funzione Clean viene passata una stringa vuota, deve essere restituita una stringa vuota.
Nota che chi chiama dovrebbe evitare di chiamare la routine Clean con un identificatore vuoto, dato che tali identificatori sono inefficaci.
Implementa il metodo (static) Identifier.Clean() per sostituire tutti gli spazi con caratteri di sottolineatura.
Questo vale anche per gli spazi iniziali e finali.
Identifier.Clean("my Id");
// => "my___Id"
Modifica il metodo (static) Identifier.Clean() per sostituire i caratteri di controllo con la stringa maiuscola "CTRL".
Identifier.Clean("my\0Id");
// => "myCTRLId",
Modifica il metodo (static) Identifier.Clean() per convertire il kebab-case in camelCase.
Identifier.Clean("à-ḃç");
// => "àḂç"
Modifica il metodo (static) Identifier.Clean() per omettere tutti i caratteri che non sono lettere.
Identifier.Clean("1😀2😀3😀");
// => ""
Modifica il metodo (static) Identifier.Clean() per omettere tutte le lettere greche nell'intervallo da 'α' a 'ω'.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Iscriviti a Exercism per imparare e padroneggiare C# con 62 concetti178 esercizi e il mentoring di persone reali, tutto gratis.