C#教程(三):字符串的各种用法

在C#中,字符串(string 类型)是一种常用的数据类型,用于存储和操作文本数据 。以下是一些C#中字符串的常见用法

1、输出任意的字符串长度

代码

c 复制代码
#region 输出任意的字符串长度
Console.WriteLine("请输入你心中想到的名字:");
string name = Console.ReadLine();
Console.WriteLine(name.Length);
#endregion

输出效果

2、字符串比较

代码

c 复制代码
			#region 字符串比较
            Console.WriteLine("请输入张三喜欢的课程:");
            string lessone = Console.ReadLine();
            lessone = lessone.ToUpper();
            Console.WriteLine("请输入李四喜欢的课程:");
            string lesstwo = Console.ReadLine();
            lesstwo = lesstwo.ToUpper();//同理也都能转化成小写,ToLower

            if (lessone.Equals(lesstwo))
            {
                Console.WriteLine("你们俩喜欢的课程相同");
            }
            else
            {
                Console.WriteLine("你们俩喜欢的课程不同");
            }
            #endregion

输出结果

3、字符串分隔

代码

c 复制代码
string s = "a b  dfd _ +  = ,,, fdf";
            char[] chs = { ' ', '_', '+', '=', ',' };
            string[] s1 = s.Split(chs);//这种方法分隔后的字符串,是将不要的转化成了空字符串
            string[] s2 = s.Split(chs, StringSplitOptions.RemoveEmptyEntries);//使用StringSplitOptions字符串分隔选择,来把空字符串给删除
            for (int i = 0; i < s1.Length; i++)
            {
                Console.WriteLine(s1[i]);
            }
            for (int i = 0; i < s2.Length; i++)
            {
                Console.WriteLine(s2[i]);
            }

            string data = "2019-07-15";
            char[] a = { '-' };
            string[] data2 = data.Split(a, StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine("{0}年{1}月{2}日", data2[0], data2[1], data2[2]);

输出结果

4、字符串代替和判断是否含有指定字符串

代码

c 复制代码
#region 字符串代替和判断是否含有指定字符串
            string str = "国家关键人物老赵";
            if (str.Contains("老赵"))
            {
                str = str.Replace("老赵", "**");//把敏感字符隐藏
            }
            Console.WriteLine(str);
            #endregion

输出结果

5、字符串截取

代码

c 复制代码
#region 字符串截取
            string str1 = "今天天气好晴朗,处处好风光";
            string str2;
            str1 = str1.Substring(1);//从指定的索引开始截取,一直到最后
            str2 = str1.Substring(1, 2);//从指定的索引截取,第二个参数是截取的个数
            Console.WriteLine(str1);
            Console.WriteLine(str2);
            #endregion

输出结果

6、判断字符串是否以某个字符结尾

代码

c 复制代码
#region 判断字符串是否以某个字符结尾
            if (str1.StartsWith("今天"))
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("No");
            }
            #endregion

输出结果

7、查找字符位置索引

代码

c 复制代码
#region 字符位置索引
            int index = str1.IndexOf('天', 2);
            Console.WriteLine(index);

            string path = @"c:\a\b\c\苍\d\e苍\f\g\\fd\fd\fd\苍老师苍.wav";
            int index1 = path.LastIndexOf("\\");
            path = path.Substring(index1 + 1);
            Console.WriteLine(path);
            #endregion

8、去掉空格

代码

c 复制代码
#region 去掉空格
            string strh = "     哈哈哈哈     ";
            strh = strh.Trim();//去掉所有的空格
            strh = strh.TrimStart();//去掉前面的空格
            strh = strh.TrimEnd();//去掉后面的空格
            Console.WriteLine(strh);
            #endregion

输出结果

9、判断是否为空

代码

c 复制代码
#region 判断是否为空
            string nulll = null;
            if (string.IsNullOrEmpty(nulll))
            {
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
            }
            #endregion

10、将数组按照指定的字符串连接,返回一个字符串

代码

c 复制代码
#region string.join方法,将数组按照指定的字符串连接,返回一个字符串
            string[] names = { "张三", "李四", "万物", "赵六", "天气" };
            string strNew = string.Join("|", names);//join方法可以将某个字符串加到定义的数组里面
            Console.WriteLine(strNew);

            Console.ReadLine();
            #endregion

输出结果

字符串在C#中是不可变 的,即一旦创建就不能被修改。对字符串进行操作时,实际上是创建了一个新的字符串对象。这有助于确保字符串的安全性和稳定性。

这些是C#中字符串的一些基本用法,涵盖了字符串的创建、操作、比较、格式化等常见操作。

相关推荐
信仰_2739932435 分钟前
Java面试题
java·开发语言
闫有尽意无琼24 分钟前
银河麒麟v11 arm编译Qt creator8.0.2报错
开发语言·qt
小此方37 分钟前
从零开始手搓堆:核心操作实现 + 堆排序 + TopK 算法+ 向上调整 vs 向下调整建堆的时间复杂度严密证明!
开发语言·数据结构·算法
_OP_CHEN1 小时前
从零开始的Qt开发指南:(五)Qt 常用控件之 QWidget(上):解锁 Qt 界面开发的核心基石
开发语言·c++·qt·前端开发·qwidget·gui开发·qt常用控件
wjs20241 小时前
SQLite 视图
开发语言
q***44811 小时前
java进阶--多线程学习
java·开发语言·学习
艾斯比的日常1 小时前
Neo4j 完全指南:从核心特性到 Java 实战(附企业级应用场景)
java·开发语言·neo4j
唐青枫1 小时前
C#.NET 范围与索引(Range、Index)完全解析:语法、用法与最佳实践
c#·.net
后端小张1 小时前
【JAVA 进阶】深入探秘Netty之Reactor模型:从理论到实战
java·开发语言·网络·spring boot·spring·reactor·netty
柠石榴1 小时前
go-1 模型
开发语言·后端·golang