C#의 char 타입은 텍스트의 가장 작은 주소 지정 가능한 구성 요소를 나타내는 16비트 값이에요.
여러 개의 char가 "word"와 같은 문자열을 구성할 수 있어요. 또는 char를 독립적으로 처리할 수 있어요.
char의 리터럴은 작은따옴표를 사용해요. 예를 들어 'A'와 같아요.
C#에서 char는 UTF-16 유니코드 인코딩을 지원해서 라틴 문자 집합뿐만 아니라 전 세계에서 사용되는 거의 모든 문자 체계를 표현할 수 있어요. 예를 들어 그리스 문자 'β'처럼요.
char를 검사하고 조작할 수 있는 많은 내장 라이브러리 메서드가 있어요. 이러한 메서드는 System.Char 클래스의 정적 메서드로 찾을 수 있어요.
char는 때때로 StringBuilder 객체와 함께 사용돼요. 이 객체에는 문자열을 문자 단위로 구성하고 조작할 수 있는 메서드가 있어요. 프로세스가 끝나면 ToString을 호출해서 완전한 문자열을 출력할 수 있어요.
이 연습 문제에서는 개발자가 식별자 이름을 정리할 수 있도록 돕는 유틸리티 루틴의 일부를 구현해요.
다섯 개의 과제를 통해 Clean 루틴을 조금씩 완성해 나가요.
유효한 식별자는 0개 이상의 글자와 밑줄로 이루어져요.
어떤 경우든 입력 문자열은 null이 아님을 보장해요.
Clean 함수에 빈 문자열이 전달되면 빈 문자열을 반환해야 해요.
다만 빈 식별자는 아무 쓸모가 없으므로, 호출하는 쪽에서는 Clean 루틴을 빈 식별자로 호출하지 않도록 해요.
공백을 밑줄로 바꾸도록 (static) Identifier.Clean() 메서드를 구현해요.
문자열 앞뒤의 공백도 마찬가지예요.
Identifier.Clean("my Id");
// => "my___Id"
제어 문자를 대문자 문자열 "CTRL"로 바꾸도록 (static) Identifier.Clean() 메서드를 수정해요.
Identifier.Clean("my\0Id");
// => "myCTRLId",
kebab-case를 camelCase로 변환하도록 (static) Identifier.Clean() 메서드를 수정해요.
Identifier.Clean("à-ḃç");
// => "àḂç"
글자가 아닌 문자는 모두 생략하도록 (static) Identifier.Clean() 메서드를 수정해요.
Identifier.Clean("1😀2😀3😀");
// => ""
'α'부터 'ω'까지 범위에 있는 그리스 문자는 모두 생략하도록 (static) Identifier.Clean() 메서드를 수정해요.
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"
Exercism에 가입하고 C# 트랙을 개념 62개연습 문제 178개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.