C#string类

根据平常的一些习惯以及遇到的一些问题对C#String类的一些方法进行总结。

  1. 字符串的生成
            char[] cha = new char[] { '字', '符', '串', '是', '一', '种', '引', '用', '类', '型' };
            string str = "字符串是一种引用类型";//直接生成
            string str1 = new string(cha, 6, 4);//由字符数组中的指定位数生成字符串
            string str2 = new string(cha);//由字符数组生成字符串
            Console.WriteLine(str + "\n" + str1 + "\n" + str2);

2.字符串的大小写转换

            string str1 = "USING PYTHON";
            string str2 = "life is short";
            Console.WriteLine(str1.ToLower());
            Console.WriteLine(str2.ToUpper());
  1. 去除指定字符串
            string str = "**Life is short**use**python**";
            string str1 = str.Trim('*');//尽去除左右两侧指定
            string str2 = str.TrimStart('*');//仅去除左侧指定字符
            string str3 = str.TrimEnd('*');//仅去除右侧指定字符
            Console.WriteLine(str + "\n" + str1 + "\n" + str2 + "\n" + str3);
  1. 合并字符串
    string.concat、string.join、str1+str2皆能实现字符串的连接合并。

  2. 字符串的替换

str.replace(oldChar,newChar)
str.replace(oldStr,newStr)

6.Contains方法

  str.contains(str)
  str.contains(char)
  1. 字符串查找
            string str = "Life is short, use Python";
            Console.WriteLine(str.IndexOf('i'));//字符出现的位置
            Console.WriteLine(str.IndexOf("short"));//字符串中第一个字符出现的位置
  1. 分割字符串

    将字符串分割成字符串数组

            string str = "恰恰用心时,恰恰无心用。无心恰恰用,用心恰恰无。";
            var buf = str.Split('。');//仅分割句号
            var buf2 = str.Split(new char[] { ',', '。' });//分割句号和逗号
            foreach (var l in buf)
            {
                Console.WriteLine(l);
            }
            foreach (var t in buf2)
            {
                Console.WriteLine(t);
            }

结果显示

在这里插入图片描述

split方法的重载

System.StringSplitOptions.RemoveEmptyEntries

//省略返回数组中的空数组元素

System.StringSplitOptions.None

//包含返回的空数组元素

- 移除字符串

  str.remove(int startIndex)

  str.remove(int startIndex,int count)

- 正则表达式的应用

首先Using System.Text.RegularExpressions;

字符说明示例
\d匹配数字(0~9)123
\D匹配非数字ABC
\w匹配任意单个字符‘A’,‘B’,‘C’
\W匹配任意非单个字符“ABC”
\s匹配空白字符\d\s\d匹配“3 3”
\S匹配非空字符\d\S\d匹配“363”
.匹配任意字符…匹配ab2
[…]匹配括号中的任意字符[b-f]匹配b、c、d、e、f
[^…]匹配非括号的字符[^b-z]匹配a

重复匹配

重复语法语法解释
{n}匹配n次字符
{n,}匹配n次及n次以上
{n,m}匹配n到m次
匹配0次或者1次
+匹配一次及以上
*匹配0次以上

具体应用

                    string tex = @"\s{1,}";//识别一到多个空格
                    Regex reg = new Regex(tex);
                    var buf = reg.Split(data);
                    year = Convert.ToInt32(buf[0]);
                    month = Convert.ToInt32(buf[1]);
                    day = Convert.ToInt32(buf[2]);
                    hour = Convert.ToInt32(buf[3]);
                    minute = Convert.ToInt32(buf[4]);
                    second = Convert.ToDouble(buf[5]);

参考书籍 《C#实践教程第2版》——清华大学出版社 李乃文 刘好增 编著

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值