Тип char у C# - це 16-бітна величина, що представляє найменші адресовані компоненти тексту.
Кілька char можуть утворювати рядок тексту (англ. string), як-от "word", або char можна
обробляти окремо. Їхні літерали записують в одинарних лапках, наприклад 'A'.
Символи char у C# підтримують кодування UTF-16 Unicode, тож, крім латинського набору символів,
можна представити майже всі системи письма, які використовуються у світі,
наприклад грецьку літеру 'β'.
Існує багато вбудованих методів бібліотеки для перевірки та обробки char. Їх
можна знайти як статичні методи класу System.Char.
char іноді використовують разом з обʼєктом StringBuilder.
Цей обʼєкт має методи, які дозволяють будувати рядок тексту
символ за символом і змінювати його. Наприкінці процесу
в нього можна викликати ToString, щоб вивести повний рядок тексту.
У цій вправі ми реалізуємо частину набору допоміжних процедур, які допомагають розробнику чистити назви ідентифікаторів.
У 5 завданнях ми поступово побудуємо процедуру Clean.
Правильний ідентифікатор складається з нуля або більше літер і символів підкреслення.
У всіх випадках вхідний рядок тексту (англ. string) гарантовано не є null.
Якщо у функцію Clean передати порожній рядок тексту, вона має повернути порожній рядок тексту.
Зауважмо, що не варто викликати процедуру Clean з порожнім ідентифікатором, бо такі ідентифікатори нічого не дають.
Реалізуйте (статичний) метод Identifier.Clean(), щоб замінити всі пробіли на символи підкреслення.
Це стосується також пробілів на початку й у кінці рядка.
Identifier.Clean("my Id");
// => "my___Id"
Змініть (статичний) метод Identifier.Clean(), щоб замінити керуючі символи на рядок тексту "CTRL" у верхньому регістрі.
Identifier.Clean("my\0Id");
// => "myCTRLId",
Змініть (статичний) метод Identifier.Clean(), щоб перетворювати kebab-case на camelCase.
Identifier.Clean("à-ḃç");
// => "àḂç"
Змініть (статичний) метод Identifier.Clean(), щоб він пропускав будь-які символи, які не є літерами.
Identifier.Clean("1😀2😀3😀");
// => ""
Змініть (статичний) метод Identifier.Clean(), щоб пропускати грецькі літери в діапазоні від 'α' до 'ω'.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.