本篇文章小编总结在C#中,对于字符串类型我们常用的属性和方法:
【1】构造方法:
通过构造方法我们可以根据自己的需要构建一个字符串变量(或字符串类型的对象实例)。
案例1)通过构造方法,声明并赋值一个由20个字符‘H’组成的字符串,并输出。
代码:
string Str=new string('H',20); //新创建一个string类型的对象,并使用构造方法(函数)构建一个由20个H组成的字符串并赋值给Str
Console.WriteLine(Str);
Console.ReadKey();
执行结果:
案例2)通过构造方法,将一个字符数组{'H','e','l','l','o',',','W','o','r','l','d'}构建成一个字符串并赋值。
string Str=new string(new char[]{'H','e','l','l','l','o',',','W','o','r','l','d'});
Console.WriteLine(Str);
Console.ReadKey();
执行结果:
【2】Length属性,得到字符串的字符数。
案例1)得到字符串“Hello,world!”的字符数。
string Str="Hello,world!";
Console.WriteLine("\"Hello,world!\"的字符数为:{0}",Str.Length);
Console.ReadKey();
执行结果:
【3】ToUpper()方法,字符串中的所有小写字母转换成大写。
案例1)将字符串“Hello,World!”中的小写字母转换为大写并输出转换后的字符串。
string Str="Hello,World!";
string StrNew=Str.ToUpper();
Console.WriteLine("转换前的字符串为:{0}",Str);
Console.WriteLine("转换后的字符串为:{0}",StrNew);
Console.ReadKey();
执行结果:
【4】ToLower()方法,字符串中的所有大写字母转换成小写。
案例1)将字符串“Hello,World!”中的小写字母转换成大写并输出转换后的字符串。
string Str="Hello,World!";
string StrNew=Str.ToLower();
Console.WriteLine("转换前的字符串为:{0}",Str);
Console.WriteLine("转换后的字符串为:{0}",StrNew);
Console.ReadKey();
执行结果:
【5】比较两个字符串是否相同,可以通过参数选择比较模式(不区分大小写还是区分大小写)。
案例1)用不区分大小写模式比较两个字符串“Hello,World!”和“hello,world!”。
string Str1="Hello,World!";
string Str2="hello,world!";
//不区分大小写模式
if(Str1.Equals(Str2,StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("比较的两个字符串是相同的!");
}
else
{
Console.WriteLine("比较的两个字符串是不相同的!");
}
Console.ReadKey();
执行结果:
案例2)用区分大小写模式比较两个字符串“Hello,World!”和“hello,world!”。
string Str1="Hello,World!";
string Str2="hello,world!";
//区分大小写模式
if(Str1.Equals(Str2,StringComparison.Ordinal))
{
Console.WriteLine("比较的两个字符串是相同的!");
}
else
{
Console.WriteLine("比较的两个字符串是不相同的!");
}
Console.ReadKey();
执行结果:
【6】Split()方法,分割字符串,返回字符串类型的数组。
案例1)分割字符串“我 是&C* #初( 学|者”组成一个“我是C#初学者”的字符串。
string Str="我 是&C* #初( 学|者";
char[] Chr={' ','&','(','|','*'};
string[] StrNew = Str.Split(Chr, StringSplitOptions.RemoveEmptyEntries); //分割字符串组成字符串数组,并移除空字符串
string Str1="";
for(int i=0;i<StrNew.Length;i++)
{
Str1+=StrNew[i];
}
Console.WriteLine("您想要得到的字符串是:{0}",Str1);
Console.ReadKey();
执行结果:
【7】Substring()方法,截取字符串,在截取的时候包含截取的索引位置。
案例一)截取字符串“大家好,我是C#初学者”中的“我是C#初学者”,并输出截取前和截取后的字符串。
string StrOld="大家好,我是C#初学者";
string StrNew=StrOld.Substring(4);
Console.WriteLine("截取之前的字符串为:{0}",StrOld);
Console.WriteLine("截取之后的字符串为:{0}",StrNew);
Console.ReadKey();
执行结果:
【8】IndexOf()方法,判断某个字符串在字符串中第一次出现的位置的索引,没有则返回-1。
案例1)查找"C#"在,“大家好,我是C#初学者!”的字符串中的位置。(在第几个字符)。
String Str1="大家好,我是C#初学者!";
int Position;
Position=Str1.IndexOf("C#");
Position+=1;
Console.WriteLine("\"C#\"在\"大家好,我是C#初学者!\"的第{0}个位置。",Position);
Console.ReadKey();
执行结果:
【9】LastIndexOf()方法,判断某个字符串在字符串中最后出现的位置的索引,没有则返回-1。
案例1)输出字符串“C#”在字符串“我爱C#,你爱C#,我们大家都爱C#语言!”中最后一次出现的位置。
string Str="我爱C#,你爱C#,我们大家都爱C#语言!";
int Position;
Position=Str.LastIndexOf("C#");
Position+=1;
Console.WriteLine("\"C#\"在\"我爱C#,你爱C#,我们大家都爱C#语言!\"出现的位置为{0}",Position);
Console.ReadKey();
执行结果:
【10】判断字符串是否以指定子字符串开始。
案例1)判断“大家好,我是C#初学者!”是否以“大家好”开始,如果是则输出是,如果不是则输出不是。
string Str="大家好,我是C#初学者!";
if(Str.StartsWith("大家好"))
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是的");
}
Console.ReadKey();
执行结果:
【11】判断字符串是否以指定子字符串结束。
案例1)判断“大家好,我是C#初学者!”字符串是否以“!”结束。
string Str="大家好,我是C#初学者!";
if(Str.EndsWith("!"))
{
Console.WriteLine("是的");
}
else
{
Console.WriteLine("不是的");
}
Console.ReadKey();
执行结果:
【12】将字符串中指定的子字符串替换成你想要的字符串。
案例1)将“大家好,我是C#初学者!”字符串中的“!”替换成“?”。
string Str="大家好,我是C#初学者!";
string StrNew=Str.Replace("!","?");
Console.WriteLine("替换前的字符串为:{0}",Str);
Console.WriteLine("替换后的字符串为:{0}",StrNew);
Console.ReadLine();
执行结果:
【13】Contains()方法,判断字符串是否包含指定的子字符串。
案例1)判断字符串“大家好,我是C#初学者!”字符串中是否包含子字符串“C#”,如果包含输出“包含”,如果不包含输出“不包含”。
string Str="大家好,我是C#初学者!";
if(Str.Contains("C#"))
{
Console.WriteLine("包含!");
}
else
{
Console.WriteLine("不包含!");
}
Console.ReadKey();
执行结果:
【14】Trim()方法,去掉字符串前后的空格。
案例1)去掉字符串“ 我是C#初 学者 ”的前后空格。
string Str=" 我是C#初 学者 ";
string StrNew=Str.Trim();
Console.WriteLine("去掉前后空格之前的字符串为:{0}",Str);
Console.WriteLine("去掉前后空格之后的字符串为:{0}",StrNew);
Console.ReadKey();
执行结果:
【15】TrimStart()和TrimEnd()方法,分别是去掉字符串前面的空格和去掉字符串后面的空格。
案例1)分别去掉“ 我是C#初学者 ”,并分别输出。
string Str=" 我是C#初学者 ";
string Str1=Str.TrimStart();
Console.WriteLine("去掉之前的字符串为:{0}",Str);
Console.WriteLine("去掉字符串前面的空格之后为:{0}",Str1);
string Str2=Str1.TrimEnd();
Console.WriteLine("去掉字符串后面的空格之后为:{0}",Str2);
Console.ReadKey();
执行结果:
【16】string.IsNullOrEmpty()方法,判断一个字符串是否为空。
案例1)判断“你好”字符串是否为空。
string Str="你好";
if(string.IsNullOrEmpty(Str))
{
Console.WriteLine("字符串为空");
}
else
{
Console.WriteLine("字符串不为空");
}
Console.ReadKey();
执行结果:
【17】string.Join()方法,将数组按照指定的字符串连接,并返回一个字符串。
案例1)将字符串数组{"大","家","好"}输出为“大|家|好”的形式。
string[] Str={"大","家","好"};
string StrNew=string.Join("|",Str);
Console.WriteLine(StrNew);
Console.ReadKey();
执行结果: