文章目录
- 一 命名空间
- 二字符串
- 2.1 System.String类
- 2.2 StringBuilder类
- 三 正则表达式
- 3.1 什么是正则表达式?
- 3.2 查找举例
- 3.3 重复描述字符举例
- 3.4 反义字符
- 3.5 基本语法元字符
- 3.6 定位元字符
- 3.7 择一匹配
- 3.8 分组
一 命名空间
二字符串
- 字符串类
- System.String(string是这个类的别名)
- System.Text.StringBuilder
2.1 System.String类
1. 创建字符串 string s="xxxxxxx";
2. 获取长度 s.Length();
3. 比较字符串是否一样 s=="xxxx"; s.CompareTo("xxxxx")
4. 字符串连接 s+="xxx";
5. 使用类似索引器的语法来获取字符串中的某个字符 stringName[index]
6. 替换 s.Replace("x","y");
7. 拆分 s.Splist("x");
8. SubString() 在字符串中检索给定位置的子字符串
9. ToLower()把字符串转换成小写形式
10. ToUpper()把字符串转换成大写形式
11. Trim()删除首尾的空白
12. Contact()方法,合并字符串- 静态方法
13. CopyTo()方法,把字符串中指定的字符复制到一个数组中
14. Format()方法,格式化字符串-静态方法
15. Indexof()方法 获取字符串第一次出现某个给定字符串或者字符的位置
16. INdexOfArry()方法
17. Insert()把一个字符串实例插入到另外一个字符串实例的定制索引处
18. Join()合并字符串数组,创建一个型字符串
2.2 StringBuilder类
- StringBuilder类(位于System.Text命名空间下)
- 创建StringBuilder对象
StringBuilder sb=new StringBuilder("www.taikr.com”); StringBuilder sb = new StringBuilder (20); StringBuilder sb = new StringBuilder("www.devsiki.com",100); 关于StringBuilder对象创建的时候的内存占用
方法 | 说明 |
---|---|
Append()方法 | 给当前字符串追加一个字符 |
Insert() | 追加特定格式的字符串 |
Remove() | 从当前字符串中删除字符 |
Replace() | 在当前字符串中,用某个字符或者字符串全部替换另一个字符或者字符串 |
ToString() | 把当前stringBuilder中存储的字符串,提取成一个不可变的字符串 |
三 正则表达式
3.1 什么是正则表达式?
- 英文Regular Expression,是计算机科学的一个重要概念,她使用一种数学算法来解决计算机程序中的文本检索,匹配等问题,正则表达式语言是一种专门用于字符串处理的语言。在很多语言中都提供了对它的支持,c#也不例外,它可以帮我们解决下面的问题:
- 检索:通过正则表达式,从字符串中获取我们想要的部分
- 匹配:判断给定的字符串是否符合正则表达式的过滤逻辑
- 正则表达式表述了一个字符串的书写规则
判断用户输入的密码是否合法,判断用户输入的邮箱格式是否合法 - 正则表达式的组成
- 正则表达式就是由普通字符以及特殊字符(成为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。
不要识记,用的时候查就是了。
3.2 查找举例
static void Main(string[] args)
{
//@是特殊字符失效;功能相当于转义字符
Console.WriteLine(@"xxx\n");
//\d代表任意一个数字 \D补集
//*代表前面的字符可以有0个或者多个
string s1 = "23432n";
string s2 = "234234";
Console.WriteLine(Regex.IsMatch(s1,@"\d*"));//true
Console.WriteLine(Regex.IsMatch(s2,@"1*"));//true
//^x代表以某个字符开头
Console.WriteLine(Regex.IsMatch(s2,@"^2"));//true
//$x代表以某个字符结尾
Console.WriteLine(Regex.IsMatch(s2,@"$4"));//false
//\w大小写字母 0-9 _ \W补集
Console.WriteLine(Regex.IsMatch(s1,@"^\w*$"));//true
//[] 定义一个字符集集合
Console.WriteLine(Regex.IsMatch(s1,@"[234]"));//true
//匹配a到g、x到z的字符
Console.WriteLine(Regex.IsMatch("e",@"[a-gx-z]"));//true
//匹配a-g的补集 ^放到[]里,表示取反
Console.WriteLine(Regex.IsMatch("e",@"[^a-g]"));//false
}
3.3 重复描述字符举例
字符 | 说明 |
---|---|
{n} | 匹配前面的字符n次 |
{n,} | 匹配前面的字符n次及以上 |
{n,m} | 匹配前面的字符n到m次 |
? | 重复零次或者一次 |
+ | 重复一次或者更多 |
* | 重复0次或者更多 |
3.4 反义字符
3.5 基本语法元字符
3.6 定位元字符
3.7 择一匹配
3.8 分组