在C#中视频中最常用的代码之一就是字符串的处理。这一节,我来讲解一下字符串的处理问题。
使用string 定义的字符串,在定义好后,是无法修改的。如果要想改变,必须通过tocharArray()函数将原来的字符串转化为字符(char)数组。然后再通过转换从而形成一个新的字符串。
字符串中常用的方法有:
ToLower();将字符串中的大写的字母转换为小写字母,其他字符不变。
ToUpper();将字符串中的小写字母转换为大写字母,其他的字符不变
S1.Equals(StringComparison.OrdinallgnoreCase);不区分大小写的比较。
contains():是否包含子字符串;
substring():截取字符串
LastIndexOf():找最后一个字符串的索引
split():切除多余的字符
str.startswith():判断字符串是否以某个字符串开始的
str.endswith():判断字符串是否以某个字符串结尾的
str.IndexOf():显示字符串的索引,如果找不到这个字符串,返回的结果是-1
总结:
对于字符串的使用,在C#的后期学习中会用的非常的多。这就需要我们知道字符串的处理方案有多少,效果是什么样子的,从而提高效率。这就要我们经常的练习和联系。下面我就举几个例子说明一下上面字符串方法的效果。
例子:
一、大小写转化
#region 字符串变成小写的方法
Console.WriteLine("请输入第一门课程:");
string str3 = Console.ReadLine();
Console.WriteLine("请输入第二门课程;");
string str4 = Console.ReadLine();
str3 = str3.ToLower();//将第一门课转换为小写
//str3 = str3.ToUpper();//将字符串变成大写的。
str4 = str4.ToLower();//将第二门课转换为小写
//str4 = str4.ToUpper();//将字符串变成大写的。
if (str3 == str4)
{
Console.WriteLine("课程一样" + str3);
}
else
{
Console.WriteLine("课程不一样{0}_________{1}", str3, str4);
}
Console.ReadLine();
#endregion
二、不区分大小写的比较
#region 忽略大小写比较
Console.WriteLine("请输入第一门课程:");
string str3 = Console.ReadLine();
Console.WriteLine("请输入第二门课程;");
string str4 = Console.ReadLine();
bool result = str3.Equals(str4, StringComparison.OrdinalIgnoreCase);
//忽略大小写比较,其中,str4表示要比较的字符串,StringComparison.OrdinalIgnoreCase表示以忽略大小写的方式去比较。
if (result)
{
Console.WriteLine("课程一样" + str3);
}
else
{
Console.WriteLine("课程不一样{0}_________{1}", str3, str4);
}
Console.ReadLine();
#endregion
三、移除字符串中不需要的字符。
#region 移除不需要的字符
string str5 = "我 有一 个 朋 友,他------------叫小---------明";//这是一个含有杂质的字符串,我想把其中的空格以及“-”去掉
char[] chs1 = new char[] { ' ', '-' };//这里表示想要去除的杂质字符
string[] result1 = str5.Split(chs1, StringSplitOptions.RemoveEmptyEntries);
/*
* 在上面一行代码中,因为是StringSplitOptions.RemoveEmptyEntries的原因,所以返回的值中没有空元素字符。如果要选择StringSplitOptions.none 则表示要返回
* 带有空元素的字符。这两种方式的处理,在console.write()中无法看出区别,但是在console.writeLine()可以看出区别。
*/
for (int i = 0; i < result1.Length; i++)
{
Console.Write(result1[i]);
}
Console.ReadLine();
#endregion
四、将字符串传换成字符数组。
#region 任何类型的类型都可以使用tostring方法转换成字符串
int num3 = 10;
string str7 = num3.ToString();
Console.WriteLine(str7);
Console.ReadLine();
#endregion
五、把字符串中某些字符或者字符串替换成其他的字符或者字符串
#region 把字符串中某些字符或者字符串替换成其他的字符或者字符串。
string str = "老杨很邪恶";
str = str.Replace('很', '不');
Console.WriteLine(str);
Console.ReadLine();
str = str.Replace("老杨", "老苏");
Console.WriteLine(str);
Console.ReadLine();
#endregion
六、判断字符串中是否包含要查的字符串
#region 判断字符串中是否包含要查的字符串。
string str = "小杨很邪恶";
bool result = str.Contains("小杨");
if (result)
{
Console.WriteLine(result);
Console.ReadLine();
}
#endregion
七、找到某个字符的索引在截取
#region 找到某个字符的索引在截取
string str = "小杨很邪恶";
str = str.Substring(3);//截取字符,在字符下标为3的地方开始截取,保留后面的东西。,但是下标不能超过字符串长度。
Console.WriteLine(str);
Console.ReadLine();
str = "小杨很邪恶";
str = str.Substring(3, 2);//表示从第三个字符开始,然后截取三个字符。两个数值的下标均不能超过字符长度
Console.WriteLine(str);
Console.ReadLine();
/***********************************************************************************************************/
//截取路径中H:\学习资料\提高班\cs学习\传智播客基础实训3\20121102C#基础\视频\22移除字符串的方法.avi中的22移除字符串的方法.avi
string path = @"H:\学习资料\提高班\cs学习\传智播客基础实训3\20121102C#基础\视频\22移除字符串的方法.avi";//这里要使用@,
//方法一
path = path.Substring(path.Length - 14);
Console.WriteLine(path);
Console.ReadLine();
//方法二:
char[] chs = new char[1] { '\\' };
string[] path1 = path.Split(chs);
Console.WriteLine(path1[path1.Length - 1]);
Console.ReadLine();
#endregion
八、判断字符串是否以某个字符串开始或者结束的
#region 判断字符串是否以某个字符串开始或者结束的。
string str = "小杨很纯洁";
bool result = str.StartsWith("小杨");
if (result)
{
Console.WriteLine("是这个字符串开始的");
Console.ReadLine();
}
result = str.EndsWith("纯洁");
if (result)
{
Console.WriteLine("是这个字符串结束的");
Console.ReadLine();
}
#endregion