C# 字符串操作汇总

来源:互联网 发布:剑灵灵剑捏脸数据图 编辑:程序博客网 时间:2024/05/21 14:48

C# 字符串操作汇总 :

String 属性 :

名称 作用 Length 字符串的长度

String 方法 :

名称 作用 IndexOf 匹配索引 Substring 字符串截取 ToCharArray 字符串转字符数组 ToUpper和ToLower 大小写转换 PadLeft和PadRight 填充对齐 Trim 截头去尾 Insert和Remove 插入和删除 Replace 替换字符串 Split 分割为字符串数组 Concat、Join、StringBuilder.Append 连接字符串

读取指定字符、字符长度 :

string str = "ABCD";Console.WriteLine(str[0]);      //输出"A"Console.WriteLine(str.Length);  //输出4

字符串转字符数组 ( ToCharArray ) :

string str = "ABCD";char[] arr = str.ToCharArray();  //把字符串打散成字符数组{'A','B','C','D'}Console.WriteLine(arr[0]);       //输出数组的第一个元素,输出"A"

字符串截取 ( Substring ) :

string str = "ABCD";Console.WriteLine(str.Substring(1));    ///从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"Console.WriteLine(str.Substring(1, 2));  //从第2位开始截取2位,输出"BC"

匹配索引 ( IndexOf ) :

string str = "ABCDEFG";Console.WriteLine(str.IndexOf('A'));      ///从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"Console.WriteLine(str.IndexOf("BCD"));     //从字符串头部开始搜索第一个匹配字符串BCD的位置,输出"1"Console.WriteLine(str.LastIndexOf('C'));   //从字符串尾部开始搜索第一个匹配字符C的位置,输出"2"Console.WriteLine(str.LastIndexOf("AB"));  //输出"0"Console.WriteLine(str.IndexOf('Z'));       //没有匹配,输出"-1"Console.WriteLine(str.Contains("ABCD"));   //判断字符串中是否存在另一个字符串"ABCD",输出true

大小写转换 ( ToUpper和ToLower ) :

string str ="abCD";Console.WriteLine(str.ToLower()); /// 转化为小写,输出"abcd"Console.WriteLine(str.ToUpper()); //  转化为大写,输出"ABCD"

填充对齐 ( PadLeft和PadRight ) :

string str ="ABCD";Console.WriteLine(s.PadLeft(6, '_')); //使用'_'填充字符串左部,使它扩充到6位总长度,输出"__ABCD"Console.WriteLine(s.PadRight(6, '_')); //使用'_'填充字符串右部,使它扩充到6位总长度,输出"ABCD__"

截头去尾 ( Trim ) :

string str = "__AB__CD__";Console.WriteLine(str.Trim('_')); // 移除字符串中头部和尾部的'_'字符,输出"AB__CD"Console.WriteLine(str.TrimStart('_')); // 移除字符串中头部的'_'字符,输出"AB__CD__"Console.WriteLine(str.TrimEnd('_')); // 移除字符串中尾部的'_'字符,输出"__AB__CD"

插入和删除 ( Insert和Remove ) :

string str ="ABCD";Console.WriteLine(str.Insert(1, "xxx"));   //在字符串的第1位后处插入字符串"xxx",输出"AxxxBCD"Console.WriteLine(str.Remove(1));      //字符串第1位后面的所有字符都删除,输出"A"Console.WriteLine(str.Remove(0, 2));    //从字符串的第0位开始删除2个字符,输出"CD"

替换字符串 ( Replace ) :

string str ="A_B_C_D";Console.WriteLine(str.Replace('_', '-'));   //把字符串中的'_'字符替换为'-',输出"A-B-C-D"Console.WriteLine(str.Replace("_", ""));    //把字符串中的"_"替换为空字符串,输出"A B C D"

分割为字符串数组 ( Split ) :

用法一 :

string str = "name|age|work_age";string[] temp = str.Split('|');    //字符一定要是单引号for (var i = 0; i < temp.Length; i++){    Console.WriteLine(temp[i]);}

输出结果 :

这里写图片描述


用法二 :

  • tips : 还可以使用 字符数组来裁剪字符串
string str = "name|age|work_age";string[] temp = str.Split(new char[2] { '|','_'});

输出结果 :

这里写图片描述

使用字符数组可以裁剪多个字符 .


用法三 :

注意 :

StringSplitOptions 有两个选项 :

  • StringSplitOptions.RemoveEmptyEntries
    表示要省略返回的数组中的空数组元素

  • StringSplitOptions.None

可以传入多个字符串 , 和用法二类似 .

string str = "name|age|work_age";string[] temp = str.Split(new string[] {"|age|"},  StringSplitOptions.RemoveEmptyEntries);

输出结果 :

这里写图片描述

格式化 ( 静态方法Format ) :

Console.WriteLine(string.Format("{0} + {1} = {2}", 1, 2, 1+2));Console.WriteLine(string.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00/3.00));Console.WriteLine(string.Format("{0:yyyy年MM月dd日}", DateTime.Now));

连接字符串 ( 静态方法Concat、Join和实例方法StringBuilder.Append )

string str ="A,B,C,D";string[] arr = str.Split(','); // arr = {"A","B","C","D"}Console.WriteLine(string.Concat(arr)); // 将一个字符串数组连接成一个字符串,输出"ABCD"Console.WriteLine(string.Join(",", arr)); //","作为分割符号将一个字符串数组连接成一个字符串,输出"A,B,C,D"StringBuilder sb = new StringBuilder(); // 声明一个字符串构造器实例sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能sb.Append('B');Console.WriteLine(sb.ToString());// 输出"AB"
1 0
原创粉丝点击