C# 字符串常用方法的详细讲解和应用

简介: C# 字符串常用方法的详细讲解和应用

字符串可以干什么?

字符串使用频率特别特别的频繁,基本每次写代码都得使用到,比如读取到的文本文件赋值给字符串,然后在使用字符串去分析拿到想要的内容,接收用户输入的内容等,拿到内容我们就可以使用他里面的方法对字符串进行分析了。


Split(过滤字符):

这个方法就是把我们不需要的信息给过滤掉,

例如:“小aa马哥c的棺b材板”;

把文中所有的abc给过滤掉,有点类似于正则表达式,

注意:a.Split()括号是char类型的参数哦,返回string类型字符串

string a = “小aa马哥c的棺b材板”;

string[] b = a.Split(‘a’,‘b’,‘c’);

for (int i = 0; i <= b.Length - 1; i++) {

Console.Write(b[i]);

}

Length(拿到文字个数):

顾名思义,就是获取内容有多少个字,常用于判断用户名或密码的字数是否达到或超过

string a = “小马的棺材板”;

Console.WriteLine(a.Length);


Trim(去除空白字符):

这个方法是去除前面和后面的空白字符,常用于过滤用户密码中的空格和用户名中的空格

可以看到字符串包含了很多空格

使用Trim方法后

两边的空白字符都去除了

需要注意的是并不会过滤字符中间的空格,如果要过滤中间的可以使用正则表达式

TrimStart(去除字符前面空格):

过滤前面的空白字符,后面的并不会被过滤

string a = "       小马哥的棺材板     ";
         a = a.TrimStart();
        Console.WriteLine(a); 

前面的空白字符被去除,后面还存在

TrimEnd(去除后面的空格):

和上面的一样,只是去除了后面的空格

string a = "       小马哥的棺材板     ";
             a = a.TrimEnd();
            Console.WriteLine(a);    


ToUpper(字母转成大写):

这个方法可以把字符串中小写的英文字母转成大写的,只对英文字母起作用,其他中文等无效果

string a = “小马g的棺材板abcd”;

a= a.ToUpper();

Console.WriteLine(a);

ToLower(字母转成小写):

能转成大写当然也是可以转成小写的

string a = “ABC”;

a= a.ToLower();

Console.WriteLine(a);

a[0](想拿到的第几个文字):

例如下面字符串,“小马哥的棺材板”,而我不想要其他的字,只想拿到“哥”字,可以通过下标去获取,和数组一样,也是从0开始

string a = “小马哥的棺材板”;

Console.WriteLine(a[2]);

这个方法只能去读取,不能修改,如需要修改值请看下面方法

ToCharArray(转成单字符数组):

把一个字符串,转成char类型数组

string a = “小马哥的棺材板”;

char[] b = a.ToCharArray();

a =new string(b);

Console.WriteLine(b);

转成数组后面就可以修改他的值了,把“哥”修改成“弟”

string a = “小马哥的棺材板”;

char[] b = a.ToCharArray();

b[2] = ‘弟’;

a = new string(b);

Console.WriteLine(a);

Contains(判断是否存在其中字符):

可以判断字符串中是否存在,你指定的字符

string a = “小马哥的棺材板”;

if (a.Contains(“小马”)) {

Console.WriteLine(“我包含”);

}

Replace(替换文字):

在游戏里骂人字符会使用“*”代替,和这个方法有一些类似,下面把“母”替换成“女”

string a = “cxk是母的”;

a = a.Replace(‘母’, ‘女’);

Console.WriteLine(a);

这样只能过滤单个字符,如果想过滤字符串看下面,

把棺材板变成“***”

string a = “小马哥的棺材板”;

if (a.Contains(“棺材板”))

{

a= a.Replace(“棺材板”,“***”);

}

Console.WriteLine(a);

Substring(从某个字开始):

例如:小马哥的棺材板哈哈哈哈

我只想要“棺“的后面的字,使用这方法

string a = “小马哥的棺材板哈哈哈哈”;

a = a.Substring(4);

Console.WriteLine(a);

里面的参数是int类型的,和数组一样,0开始的

StartsWith(判断某个字符开头):

这个方法判断你字符开头是否和你规定一致

例如:判断字符是否从小马哥开头

string a = “小马哥的棺材板”;

if (a.StartsWith(“小马哥”))

{

Console.WriteLine(“true”);

}

EndsWith(判断某个字符结尾):

和上面一样,只不过这个是判断结尾的

string a = “小马哥的棺材板”;

if (a.EndsWith(“板”))

{

Console.WriteLine(“我是于“板”结尾”);

}

IndexOf(某个字在第几位):

字符串中 小马哥的棺材板

判断”哥“字在字符串中排第几位

也是从0开始的

string a = “小马哥的棺材板”;

int b = a.IndexOf(‘哥’);

Console.WriteLine("“哥"在第{0}位”,b);

如果字符比较长,字符可能会出现重复,也可以限定他从第几个字符开始找

从第3个字符开始找”哥“字(是从0开始的)

string a = “小马哥的棺材板哥”;

int b = a.IndexOf(‘哥’,3);

Console.WriteLine(b);

如果字符串中没有这个字,返回一个 -1

LastIndexOf(字符最后一次出现的位置):

小马哥的棺材板,哥

判断最后后一个哥出现在什么位置

string a = “小马哥的棺材板,哥”;

int b = a.LastIndexOf( ‘哥’);

Console.WriteLine(b);

也是0开始的

IsNullOrEmpty(判断字符串是否空白):

这个方法可以判断你的字符串是不是为空,可以用在读取文件,如果读取失败执行其他代码

string a =“”;

if (string.IsNullOrEmpty(a)) {

Console.WriteLine(“我是空白”);

}

Join(分割字符串):

这个方法是用来隔开字符的,

如在名字中间添加”||“号进行隔开

string[] a = {“小马哥”,“小牛哥”,“小狼哥” };

string b = string.Join(“||”,a);

Console.WriteLine(b);

相关文章
|
8天前
|
JSON 程序员 C#
使用 C# 比较两个对象是否相等的7个方法总结
比较对象是编程中的一项基本技能,在实际业务中经常碰到,比如在ERP系统中,企业的信息非常重要,每一次更新,都需要比较记录更新前后企业的信息,直接比较通常只能告诉我们它们是否指向同一个内存地址,那我们应该怎么办呢?分享 7 个方法给你!
|
11天前
|
C# UED SEO
C# 异步方法async / await任务超时处理
通过使用 `Task.WhenAny`和 `Task.Delay`方法,您可以在C#中有效地实现异步任务的超时处理机制。这种方法允许您在指定时间内等待任务完成,并在任务超时时采取适当的措施,如抛出异常或执行备用操作。希望本文提供的详细解释和代码示例能帮助您在实际项目中更好地处理异步任务超时问题,提升应用程序的可靠性和用户体验。
33 3
|
21天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
29 3
|
20天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
35 1
|
18天前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
10 0
|
1月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
40 1
|
1月前
|
消息中间件 网络协议 安全
C# 一分钟浅谈:WebSocket 协议应用
【10月更文挑战第6天】在过去的一年中,我参与了一个基于 WebSocket 的实时通信系统项目,该项目不仅提升了工作效率,还改善了用户体验。本文将分享在 C# 中应用 WebSocket 协议的经验和心得,包括基础概念、C# 实现示例、常见问题及解决方案等内容,希望能为广大开发者提供参考。
101 0
|
1月前
|
Web App开发 网络协议 API
基于C#编写一个远程桌面应用
基于C#编写一个远程桌面应用
37 0
|
1月前
|
Java 程序员 C#
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
13 0
|
1月前
|
C#
C#的方法的参数传递
C#的方法的参数传递
15 0