Chapter
8: Strings and Regular Expressions
Overview
In the beginning of this site, you have been
almost constantly using strings and have taken for granted the
stated mapping that the string keyword
in C# actually refers to the .NET base class. System.String. System.String is a very powerful and versatile
class, but it is by no means the only string-related class in the
.NET armory. This chapter starts off by reviewing the features of
System.String and then looks at some
quite nifty things you can do with strings using some of the other
.NET classes - in particular those in the System.Text and System.Text.RegularExpressions namespaces. This
chapter covers the following areas:
-
Building strings - If you’re performing
repeated modifications on a string, for example in order to build
up a lengthy string prior to displaying it or passing it to some
other method or application, the String
class can be very inefficient. For this kind of situation, another
class, System.Text.StringBuilder is more
suitable, because it has been designed exactly for this
situation.
-
Formatting expressions - You also take a
closer look at those formatting expressions that have been used in
the Console.WriteLine() method
throughout these last few chapters. These formatting expressions
are processed using a couple of useful interfaces, IFormatProvider and IFormattable, and by implementing these interfaces
on your own classes, you can actually define your own formatting
sequences so that Console.WriteLine()
and similar classes will display the values of your classes in
whatever way you specify.
-
Regular expressions - .NET also offers some
very sophisticated classes that deal with the situation in which
you need to identify or extract substrings that satisfy certain
fairly sophisticated criteria; for example, finding all occurrences
within a string where a character or set of characters is repeated,
finding all words that begin with s and contain at least one n, or
strings that adhere to employee ID or Social Security number
constructions. Although you can write methods to perform this kind
of processing using the String class,
such methods are cumbersome to write. Instead, you can use some
classes from System.Text .RegularExpressions, which are designed specifically
to perform this kind of processing.
|