C# 字符串操作汇总

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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值