C#字符串基础集锦
简介
- 把字符串变成字符数组
- 把字符数组变成字符串
- 把字符串变成小写
- 把字符串变成大写
- 忽略字符串大小写比较
- 切割字符串中不想要的字符—2个重载
- 替换字符串中的值
- 判断字符串中是否包含子字符串
- 从某个位置通过索引截取字符串---2个重载
注:
1、字符串不可变
2、字符串可以看出char的只读数组。
- 把字符串变成字符数组
static void Main(string[] args)
{
//首先把字符串编程,字符数组,改变里面某一项的值,最后把这个字符数组编程字符串
string text = "哈哈,小样有帅了。";
char[] chs = text.ToCharArray(); //
chs[4] = '明';
string str = new string(chs);
Console.WriteLine(str);
Console.ReadKey();
}
- 转换字符串格式
将英文字符转换为小写格式使用---ToLower
转换为大写格式使用---ToUpper
忽略大小写进行比较
#region 字符转换比较与忽略大小写进行比较
Console.WriteLine("请输入第一门课程");
string str1 = Console.ReadLine();
//str1=str1.ToLower(); //将字符串转换为小写
//str1 = str1.ToUpper(); //将字符串转换为大写
Console.WriteLine("请输入第二门课程");
string str2 = Console.ReadLine();
//str2=str2.ToLower(); //转换为小写
//str2 = str2.ToUpper(); //转换为大写
bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase); //忽略大小写比较。
if (result) //判断为true或false
//(str1==str2 )
{
Console.WriteLine("两门课程相同,是{0}", str1);
}
else
{
Console.WriteLine(str1.Length + "第一门是{0},第二门是{1}", str1, str2);
}
#endregion
Null值和“”的区别
Null值在内存中不分配内存空间
“”在内存中分配空字符串的内存空间
- 移除字符串不需要的内容。
#region 字符串数组
//定义一个字符串
string str = "2018----01---02";
char[] chs = new char[] { ' ', '-' }; //需要切除什么内容,就在值中输入什么内容入‘-’‘空格’等
string[] result= str.Split(chs,StringSplitOptions .RemoveEmptyEntries ); //切除字符串str中数组chs中的内容。移除空白项
Console.WriteLine("{0}年{1}月{2}日", result[0], result[1], result[2]);
for (int i = 0; i < result.Length ; i++) //遍历数组result
{
Console.Write(result[i]);
}
#endregion
ToString()方法:一切类型都可以调ToString()方法
如:
#region 调用ToString()方法
int num = 10;
string stn = num.ToString();
Console.ReadKey();
#endregion
- 替换字符串中的字符
如:
#region 替换字符串中的字符
string name = "二层楼打扫卫生";
name=name.Replace('二', '三'); //将二替换为三,只能替换一个字符
Console.WriteLine(name);
#endregion
#region 替换字符串中的字符
string name = "二层楼打扫卫生";
// name=name.Replace('二', '三'); //使用单引号标识,只能替换一个字符
name = name.Replace("二层楼", "三十层礼品"); //使用双引号标识,可以替换字符串(多个字符)
Console.WriteLine(name);
#endregion
- 判断字符串是否包含子字符串。
string brief = "城市太危险,我要回农村!"; //定义一个字符串变量
bool result = brief.Contains("农村"); //设置为布尔型的变量,判断字符串中是否包含指定(农村)字符。
if(result) //如果包含,则进行替换
{
brief = brief.Replace("农村", "**"); //替换字符串中的字符
Console.WriteLine(brief); //显示替换后的字符串
}
else //否则,即为不包含,显示原字符串。
{
Console.WriteLine(brief);
}
- 找到某个字符串索引再截取
如:
string str = "金樽清酒斗十千,玉盘珍羞直万钱"; //定义一个字符串
str = str.Substring(4); //截取从第0个字符开始到第4个字符长度的字符串
str = str.Substring(3, 6); //截取 从第3个字符开始,往后6个字符长度的字符串
//方法一
str = str.Substring(str.Length - 5, 5); //截取最后5个字符长度的字符串
Console.WriteLine(str);
//方法二
string [email protected]"C:\TGB\IT\CS学习\02 C#\3-基础实训\20121102C#基础\视频"; //定义一个字符串
char[] chs = new char[] { '\\' }; //
string[] str1 = path.Split(chs); //移除path字符串中的“\\”
Console.WriteLine(str1[str1.Length - 1]); //显示字符串数组中最后一个字符串。
- 判断字符串是否以某个字符串开始,是否以某个字符串结束。
string str = "将进酒,杯莫停,与君歌一曲,请君为我倾耳听 "; //定义一个字符串
bool result = str.StartsWith("将"); //判断第一个字符串是否是“将”,只能判断第一个字符串!
if (result) //判断结果是否为true
{
Console.WriteLine("是以选择的字符串开始");
}
else
{
Console.WriteLine("不是以选择的字符串开始");
}
bool resu = str.EndsWith("冯"); //判断字符串最后一个字符是否包含指定内容。
str.Contains("将"); //判断字符串中是否包含指定内容。
if (resu) //判断结果是否为true
{
Console.WriteLine("是以选择的字符串结束");
}
else
{
Console.WriteLine("不是以选择的字符串结束");
}