C# 的char型別是一種 16 位元的量值,用來表示文字中最小、可定址的組成單位。
多個char可以組成一個字串,例如"word";也可以獨立處理每個char。
它們的字面值使用單引號,例如'A'。
C# 的char支援 UTF-16 Unicode 編碼,因此除了拉丁字母集之外,世界上幾乎所有書寫系統都能表示,例如希臘字母'β'。
有許多內建的程式庫方法可以檢查和操作char,它們都是System.Char類別的靜態方法。
char有時會搭配StringBuilder物件使用。這個物件提供的方法可以逐字元建構字串,並對它進行操作。在流程結束時,可以對它呼叫ToString來輸出完整的字串。
在這個練習中,你會實作一部分的公用常式,來協助開發者清理識別字名稱。
在這 5 個任務中,你會逐步建構出Clean常式。
有效的識別字由零個或多個字母和底線組成。
在所有情況下,輸入字串都保證不是 null。
如果傳入Clean函式的是一個空字串,就應該回傳空字串。
請注意,呼叫者應避免用空識別字呼叫Clean常式,因為這樣的識別字沒有任何作用。
實作(static)Identifier.Clean()方法,將任何空格替換成底線。
這也適用於開頭和結尾的空格。
Identifier.Clean("my Id");
// => "my___Id"
修改(static)Identifier.Clean()方法,將控制字元替換成大寫字串"CTRL"。
Identifier.Clean("my\0Id");
// => "myCTRLId",
修改(static)Identifier.Clean()方法,將 kebab-case 轉換成 camelCase。
Identifier.Clean("à-ḃç");
// => "àḂç"
修改(static)Identifier.Clean()方法,略過任何不是字母的字元。
Identifier.Clean("1😀2😀3😀");
// => ""
修改(static)Identifier.Clean()方法,略過範圍從「α」到「ω」的任何希臘字母。
Identifier.Clean("MyΟβιεγτFinder");
// => "MyΟFinder"