StringBuilder
StringBuilder类来自于System.Text命名空间的一个对象,在使用的时候先得对StringBuilder进行初始化,在初始化的时候可以指定初始字符串以及初始长度。
StringBuilder常用的方法函数
Append方法
可用来将文本或对象的字符串表示形式添加到由当前StringBuilder对象表示的字符串的结尾处。将根据需要自动分配空间。
AppendFormat方法
将文本添加到StringBuilder的结尾处,而且实现了IFormattable接口,因此可接受格式化部分中描述的标准格式字符串。可以使用此方法来自定义变量的格式并将这些值追加到StringBuilder的后面。
Insert方法
将字符串或对象添加到当前StringBuilder中的指定位置。
Remove方法
从当前StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。
Replace方法
可以用另一个指定的字符来替换 StringBuilder 对象内的字符。
StringBuilder和String的区别
- C#提供了别名string(s小写)来代表System.String类。如果在代码中使用String,必须在代码一开始添加using System; 这一行。使用内建的别名string则不需要添加using System;
- string对象是不可变的。
包括长度或者其中的任何字符都是不可以改变的。C#中不能使用new string()来构造一个string对象。 - StringBuilder是可变的。
它是专门用于对字符串和字符执行动态操作的类。StringBuilder在内部有一个足够长的字符数组用于存放字符串对象,当字符串长度没超过字符数组长度时,所有操作都是针对同一个字符数组。当长度超过时,StringBuilder将自动创建一个更长的数组,把原来的数据复制到新数组中。
正则表达式
正则表达式是一种匹配输入文本的模式。.Net框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。正则表达式的本质还是一个字符串。
正则表达式的作用
-
检索:通过正则表达式,从字符串中获取我们想要的部分
-
匹配:判断给定的字符串是否符合正则表达式的过滤逻辑
可以认为正则表达式表述了一个字符串的书写规则,判断用户输入的密码是否合法,判断用户输入的邮箱,正则表达式的匹配是按照每个位置的字符进行判断验证的
正则表达式的组成
正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。
元字符
特殊符号元字符
定位元字符
基本语法元字符
反义字符
重复描述字符
Regex类
Regex 类用于表示一个正则表达式。
QQ号的正则表达式验证
//QQ号的规则:纯数字,至少5位,最多12位,第一位数必须不能为0
string pattern = @"^[1-9]\d{4,11}$";
while (true)
{
Console.WriteLine("请输入你的QQ号:");
string qq = Console.ReadLine();
if (Regex.IsMatch(qq, pattern))
{
Console.WriteLine("输入的QQ正确");
}
else
{
Console.WriteLine("输入的QQ错误");
}
}
字符串中的特殊功能
- 转义字符
在字符串中系统会默认识别字符串中""字符,遇到斜杠会将其与其后紧跟的字符组合当成转义字符处理,如果能够组成转义字符则按照转义字符的特殊作用实现,如果不能组成转义字符则直接报错 - 占位符
字符串中使用{index}承担一个位置的标识,在格式化的字符串中可以使用占位符,在字符之后去填充标识位置的内容