- C#高级编程(第10版) C# 6 & .NET Core 1.0 (.NET开发经典名著)
- (美)Christian Nagel
- 647字
- 2025-02-18 01:49:51
第10章 字符串和正则表达式
本章要点
● 创建字符串
● 格式化表达式
● 使用正则表达式
本章源代码下载地址(wrox.com):
打开网页http://www.wrox.com/go/professionalcsharp6,单击Download Code选项卡即可下载本章源代码。本章代码分为以下几个主要的示例文件:
● StringSample
● StringFormats
● RegularExpressionPlayground
从本书一开始,我们就在使用字符串,因为每个程序都需要字符串。但读者可能没有意识到,在C#中string关键字的映射实际上指向.NET基类System.String。System.String是一个功能非常强大且用途广泛的基类,但它不是.NET库中唯一与字符串相关的类。本章首先复习一下System.String的特性,再介绍如何使用其他的.NET库类来处理字符串,特别是System.Text和System.Text.RegularExpressions名称空间中的类。本章主要介绍下述内容:
● 构建字符串——如果多次修改一个字符串,例如,创建一个长字符串,然后显示该字符串或将其传递给其他方法或应用程序,String类就会变得效率低下。对于这种情况,应使用另一个类System.Text.StringBuilder,因为它是专门为这种情况设计的。
● 格式化表达式——这些格式化表达式将用于后面几章中的Console.WriteLine()方法。格式化表达式使用两个有用的接口IFormatProvider和IFormattable来处理。在自己的类上实现这两个接口,实际上就可以定义自己的格式化序列,这样,Console.WriteLine()和类似的类就可以按指定的方式显示类的值。
● 正则表达式——.NET还提供了一些非常复杂的类来识别字符串,或从长字符串中提取满足某些复杂条件的子字符串。例如,找出字符串中所有重复出现的某个字符或一组字符,或者找出以s开头且至少包含一个n的所有单词,又或者找出遵循雇员ID或社会安全号码结构的字符串。虽然可以使用String类,编写方法来完成这类处理,但这类方法编写起来比较繁琐。而使用System.Text.RegularExpressions名称空间中的类就比较简单,System.Text. RegularExpressions专门用于完成这类处理。