首页 > 代码库 > 字符串练习题
字符串练习题
#region 练习一
//课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"
string str = "abcefg";
//思路:先将这个字符串转换成数组
char[] chs = str.ToCharArray();
//对数组进行反序
for (int i = 0; i < chs.Length / 2; i++)
{
char temp = chs[i];
chs[i] = chs[chs.Length - 1 - i];
chs[chs.Length - 1 - i] = temp;
}
//将数组转换成字符串
str = new string(chs);
Console.WriteLine(str);
Console.ReadKey();
#endregion
#region 练习二
//课上练习2:接收用户输入的一句英文,将其中的单词以反序输出。 “I love you"→“i evol uoy"
string str = "I love you";
//通过split获得每个单词,那么split返回的是一个数组
string[] strNews = str.Split(new char[]{‘ ‘},StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < strNews.Length; i++)
{
//先将字符串转换成数组
char[] chs = strNews[i].ToCharArray();
//然后 将这个数组反转
for (int j = 0; j <chs.Length/2; j++)
{
char temp=chs[j];
chs[j]=chs[chs.Length-1-j];
chs[chs.Length - 1 - j] = temp;
}
strNews[i] = new string(chs);
}
str= string.Join(" ",strNews);
Console.WriteLine(str);
Console.ReadKey();
#endregion
#region 练习三
//课上练习3:”2012年12月21日”从日期字符串中把年月日分别取出来,打印到控制台
string date = "2012年12月21日";
string[] dateNew= date.Split(new char[]{‘年‘,‘月‘,‘日‘},StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(dateNew[0]);
Console.WriteLine(dateNew[1]);
Console.WriteLine(dateNew[2]);
Console.ReadKey();
#endregion
#region 练习五
//练习5:123-456---789-----123-2把类似的字符串中重复符号去掉,既得到123-456-789-123-2. split()、StringSplitOptions.RemoveEmptyEntries Join()
string str = "123-456---789-----123-2";
string[] strNew = str.Split(new char[] { ‘-‘ }, StringSplitOptions.RemoveEmptyEntries);
str = string.Join("-", strNew);
Console.WriteLine(str);
Console.ReadKey();
#endregion
#region 练习六
//练习6:从文件路径中提取出文件名(包含后缀) 。比如从c:\a\b.txt中提取出b.txt这个文件名出来。以后还会学更简单的方式:“正则表达式”,项目中我们用微软提供的:Path.GetFileName();(更简单。)
string path = @"c:\a\b\c\d\f\c#.avi";
int index=path.LastIndexOf("\\");
string fileName = path.Substring(index+1);
Console.WriteLine(fileName);
Console.ReadKey();
#endregion
//练习7:求员工工资文件中,员工的最高工资、最低工资、平均工资
List<int> listSalary=new List<int>();
//相对路径
string[] lines = System.IO.File.ReadAllLines("1.txt",Encoding.Default);
for (int i = 0; i < lines.Length; i++)
{
string[] linesNew = lines[i].Split(new char[]{‘,‘},StringSplitOptions.RemoveEmptyEntries);
//将每个人的工资转换成整数添加到集合中
listSalary.Add(Convert.ToInt32(linesNew[1]));
}
Console.WriteLine("最高工资是{0},最小工资是{1},平均是{2}",listSalary.Max(),listSalary.Min(),listSalary.Average());
Console.ReadKey();
//课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"
string str = "abcefg";
//思路:先将这个字符串转换成数组
char[] chs = str.ToCharArray();
//对数组进行反序
for (int i = 0; i < chs.Length / 2; i++)
{
char temp = chs[i];
chs[i] = chs[chs.Length - 1 - i];
chs[chs.Length - 1 - i] = temp;
}
//将数组转换成字符串
str = new string(chs);
Console.WriteLine(str);
Console.ReadKey();
#endregion
#region 练习二
//课上练习2:接收用户输入的一句英文,将其中的单词以反序输出。 “I love you"→“i evol uoy"
string str = "I love you";
//通过split获得每个单词,那么split返回的是一个数组
string[] strNews = str.Split(new char[]{‘ ‘},StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < strNews.Length; i++)
{
//先将字符串转换成数组
char[] chs = strNews[i].ToCharArray();
//然后 将这个数组反转
for (int j = 0; j <chs.Length/2; j++)
{
char temp=chs[j];
chs[j]=chs[chs.Length-1-j];
chs[chs.Length - 1 - j] = temp;
}
strNews[i] = new string(chs);
}
str= string.Join(" ",strNews);
Console.WriteLine(str);
Console.ReadKey();
#endregion
#region 练习三
//课上练习3:”2012年12月21日”从日期字符串中把年月日分别取出来,打印到控制台
string date = "2012年12月21日";
string[] dateNew= date.Split(new char[]{‘年‘,‘月‘,‘日‘},StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(dateNew[0]);
Console.WriteLine(dateNew[1]);
Console.WriteLine(dateNew[2]);
Console.ReadKey();
#endregion
#region 练习五
//练习5:123-456---789-----123-2把类似的字符串中重复符号去掉,既得到123-456-789-123-2. split()、StringSplitOptions.RemoveEmptyEntries Join()
string str = "123-456---789-----123-2";
string[] strNew = str.Split(new char[] { ‘-‘ }, StringSplitOptions.RemoveEmptyEntries);
str = string.Join("-", strNew);
Console.WriteLine(str);
Console.ReadKey();
#endregion
#region 练习六
//练习6:从文件路径中提取出文件名(包含后缀) 。比如从c:\a\b.txt中提取出b.txt这个文件名出来。以后还会学更简单的方式:“正则表达式”,项目中我们用微软提供的:Path.GetFileName();(更简单。)
string path = @"c:\a\b\c\d\f\c#.avi";
int index=path.LastIndexOf("\\");
string fileName = path.Substring(index+1);
Console.WriteLine(fileName);
Console.ReadKey();
#endregion
//练习7:求员工工资文件中,员工的最高工资、最低工资、平均工资
List<int> listSalary=new List<int>();
//相对路径
string[] lines = System.IO.File.ReadAllLines("1.txt",Encoding.Default);
for (int i = 0; i < lines.Length; i++)
{
string[] linesNew = lines[i].Split(new char[]{‘,‘},StringSplitOptions.RemoveEmptyEntries);
//将每个人的工资转换成整数添加到集合中
listSalary.Add(Convert.ToInt32(linesNew[1]));
}
Console.WriteLine("最高工资是{0},最小工资是{1},平均是{2}",listSalary.Max(),listSalary.Min(),listSalary.Average());
Console.ReadKey();
字符串练习题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。