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