第 5 章:字符串
- 作者
- Name
- 青玉白露
- Github
- @white0dew
- Modified on
- Reading time
- 4 分钟
阅读:.. 评论:..
字符串是程序中常见的数据类型之一,无论是处理用户输入、生成输出,还是进行数据处理,字符串都扮演着重要的角色。本章将详细介绍 C#中的字符串及其基本操作和常用方法,同时深入探讨正则表达式在字符串操作中的应用。
5.1 什么是字符串
字符串(String)是一种字符序列,通常用于表示文本数据。在 C#中,字符串是不可变的,这意味着一旦创建,就不能修改其内容。每次对字符串进行操作,都会生成一个新的字符串对象。
string greeting = "Hello, World!"; Console.WriteLine(greeting);
在上述代码中,greeting
变量保存了一个字符串。当我们输出greeting
时,控制台会显示“Hello, World!”。
5.2 字符串的基本操作
5.2.1 拼接
字符串拼接是将两个或多个字符串连接在一起的操作。在 C#中,有多种方式可以进行字符串拼接:
- 使用加号 (
+
) 运算符 - 使用
String.Concat
方法 - 使用
StringBuilder
类
string firstName = "John"; string lastName = "Doe"; // 使用 + 号拼接 string fullName = firstName + " " + lastName; Console.WriteLine(fullName); // 输出: John Doe // 使用 String.Concat 方法 fullName = String.Concat(firstName, " ", lastName); Console.WriteLine(fullName); // 输出: John Doe // 使用 StringBuilder StringBuilder sb = new StringBuilder(); sb.Append(firstName); sb.Append(" "); sb.Append(lastName); fullName = sb.ToString(); Console.WriteLine(fullName); // 输出: John Doe
5.2.2 截取
截取字符串的一部分是常见的操作。C#提供了多种截取字符串的方法,包括 Substring
和 Split
。
string sentence = "The quick brown fox jumps over the lazy dog"; // 使用 Substring 方法 string quickBrownFox = sentence.Substring(4, 15); Console.WriteLine(quickBrownFox); // 输出: quick brown fox // 使用 Split 方法 string[] words = sentence.Split(' '); foreach (string word in words) { Console.WriteLine(word); } // 依次输出: The, quick, brown, fox, jumps, over, the, lazy, dog
5.2.3 分割
分割字符串是将一个字符串拆分成多个子字符串的过程,通常依据某个分隔符进行分割。上面的 Split
方法已经展示了如何按照空格分割字符串。
string csv = "apple,banana,orange"; string[] fruits = csv.Split(','); foreach (string fruit in fruits) { Console.WriteLine(fruit); } // 依次输出: apple, banana, orange
5.3 字符串的常用方法
C#中的 String
类提供了许多实用的方法来操作字符串。以下是一些常用的方法:
5.3.1 Contains
检查字符串是否包含指定的子字符串。
string sentence = "The quick brown fox"; bool containsQuick = sentence.Contains("quick"); Console.WriteLine(containsQuick); // 输出: True
5.3.2 IndexOf 和 LastIndexOf
查找子字符串在字符串中的位置。IndexOf
从头开始查找,LastIndexOf
从尾开始查找。
string sentence = "The quick brown fox jumps over the lazy dog"; int index = sentence.IndexOf("quick"); Console.WriteLine(index); // 输出: 4 int lastIndex = sentence.LastIndexOf("the"); Console.WriteLine(lastIndex); // 输出: 31
5.3.3 Replace
替换字符串中的子字符串。
string sentence = "The quick brown fox jumps over the lazy dog"; string newSentence = sentence.Replace("fox", "cat"); Console.WriteLine(newSentence); // 输出: The quick brown cat jumps over the lazy dog
5.3.4 Trim
移除字符串两端的空白字符。
string paddedString = " Hello, World! "; string trimmedString = paddedString.Trim(); Console.WriteLine(trimmedString); // 输出: Hello, World!
5.4 正则表达式
正则表达式(Regular Expression,简称 regex)是一种模式匹配技术,用于查找、替换和验证字符串。C#中的 System.Text.RegularExpressions
命名空间提供了对正则表达式的支持。
5.4.1 基本用法
使用正则表达式进行模式匹配和替换。
using System.Text.RegularExpressions; string input = "The quick brown fox jumps over the lazy dog"; string pattern = @"\b\w{4}\b"; // 匹配所有四个字符的单词 MatchCollection matches = Regex.Matches(input, pattern); foreach (Match match in matches) { Console.WriteLine(match.Value); } // 依次输出: quick, over, lazy
5.4.2 验证输入
使用正则表达式验证字符串是否符合某种模式,例如邮箱地址。
string email = "example@example.com"; string pattern = @"^[^@\s]+@[^@\s]+\.[^@\s]+$"; bool isValid = Regex.IsMatch(email, pattern); Console.WriteLine(isValid); // 输出: True
5.4.3 替换字符串
使用正则表达式进行字符串替换。
string input = "The quick brown fox jumps over the lazy dog"; string pattern = @"\b\w{4}\b"; // 匹配所有四个字符的单词 string replacement = "****"; string result = Regex.Replace(input, pattern, replacement); Console.WriteLine(result); // 输出: The **** brown fox jumps **** the **** dog
本章详细介绍了 C#中的字符串及其基本操作和常用方法,包括拼接、截取、分割等。同时,还探讨了正则表达式在字符串操作中的应用。通过本章的学习,读者可以掌握如何在 C#中高效地进行字符串处理,为后续的编程学习打下坚实的基础。