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"