【内容】
1.字符串介绍
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。
1.2字符串的特性
字符串可以看成只读的字符数组,String可以看做是char的只读数组。
char c = s[1]; 例子:遍历输出string中每个元素。
1.3字符串不可变吗?
string s = “abc” s = “123” s这不是变了吗?
不是的,字符串本身没有变化,是指向的地址不同了,而字符串本身不变。
C#中字符串有一个重要的特性:不可变性。
2.字符串大小写转换
str1 = str1.ToLower(); //字符串转换为小写
str2 = str2.ToUpper(); //字符串转换为大写
bool result = str1.Equals(str2,StringComparison.OrdinalIgnoreCase); //忽略大小写的比较
3.字符串的分割
(1)string[] Split(params char[] separator) //将字符串按照指定的分割符分割为字符串数组。
(2)string[] Split(char[] separator,StringSplitOptions options)
//将字符串按照指定的char分割符分割为字符串数组(option取RemoveEmptyEntries的时候移除结果中的空白字符串)。
举例:
string str = “哈 哈 --------,我 又 -------变 美 了”;
char[] chs = new char[]{‘ ’,’-’};
string[] result = str.Split(chs,StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < result.Length;i++)
{
Console.Write(result[i]);
}
Console.ReadKey();
4.替换
string Replace(string oldValue,string newValue); //将字符串中出现oldValue的地方替换为newValue。
举例:
string name = “小杨很邪恶”;
name = name.Replace(‘很’,’不’); //将很替换为不
Console.WriteLine(name);
Console.ReadKey();
5.判断字符串中是否包含子字符串
bool Contains(string value) //判断字符串中是否含有子串value
string name = “小杨很邪恶”;
bool result = name.Contains(“小杨”);
if (result)
{
name = name.Replace(“邪恶”,”纯洁”);
Console.WriteLine(name);
}
else
{
Console.WriteLine(name);
}
Console.ReadKey();
6.找到某个字符串索引再截取
(1)string Substring(int startindex); //取从位置startindex开始一直到最后的子字符串。
(2)string Substring(startindex,int length);
取从位置startindex开始长度为length的子字符串,如果子字符串的长度不足length则报错。
举例:
string str = “哈哈,小杨又变帅了”;
str = str.Substring(5); //截取字符串
Console.WriteLine(str);
Console.ReadKey();
显示结果:又变帅了
7.判断字符串是否以某个字符串开始
bool StartsWith(string value) //判断字符串中是否以子串value开始
string str = “小杨很纯洁”;
bool result = str.StartsWith(“小”);
if (result)
{
Console.WriteLine(“有这个字符串”);
}
else
{
Console.WriteLine(“没有这个字符串”);
}
Console.ReadKey();
8.判断字符串是否以某个字符串结束
bool EndsWith(string value) //判断字符串中是否以子串value结束
bool result = str.EndsWith(“小”);
9.找字符串的索引
(1)int IndexOf(string value) //取子串value第一次出现的位置
(2)int index = str.IndexOf(“的”,1);
//找一个字符串,从某个索引开始找,找到了就返回索引,找不到就返回-1
string str = “小杨很纯洁”;
int index = str.IndexOf(“的”);
//如果这个字符串在这个str字符串中,那么就会把这个字符串的索引值显示出来,如果找不到这个字符串,返回的结果是-1
Console.WriteLine(index);
Console.ReadKey();
10.StringBuilder简单介绍
String在进行运算时(如赋值、拼接等)会产生一个新的实例,而StringBuilder则不会。所以在大量字符串或频繁对某一个字符串进行操作时最好使用StringBuilder,不要使用String。
11.字符串其他方法
(1)在索引处插入一个字符串
string st = “哈哈,我变帅了”;
st = st.Insert(7,”!”); //在索引处插入一个字符串
Console.WriteLine(st);
Console.ReadKey();
(2)Join方法(将|插入到names数组中)
str[] names = {“诸葛亮”,”老苏”,”卡卡西”,”鸟叔”,”凤姐”,};
string st = string.Join(“|”,names);
Console.WriteLine(st);
Console.ReadKey();
(3)移除字符串的方法
String text = “老苏果然很邪恶”;
Text = text.Remove(2,3); //从某个地方开始移除,移除几个
Console.WriteLine(text);
Console.ReadKey();
(4)切前后空格的方法
Console.WriteLine(“请输入你的账号”);
string name = “ yhb@itcast.cn ”;
name = name.Trim(); //删除字符串前后的空格
Console.WriteLine(name);
Console.ReadKey();