字符串练习题

#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();

时间: 2024-10-10 13:28:21

字符串练习题的相关文章

43 正则中用sub和subn函数搜索与替换 使用split函数分隔字符串 练习题

第10课 正则中用sub和subn函数搜索与替换 # 使用sub和subn函数搜索和替换 ''' sub(正则表达式,要替换的字符串,母字符串) ''' import re result = re.sub('Bill','Mike', 'Bill is my son.') print(result) # Mike is my son. 把Bill 替换成 Mike result = re.subn('Bill', 'Mike', 'Bill is my son, I like Bill') pr

C#高级------字符串练习题

class Program { static void Main(string[] args) { //字符串练习一:接收用户输入的字符串,将其中的字符以输入相反的顺序输出 Console.WriteLine("请输入一个字符串"); string s = Console.ReadLine(); s = ReverStr(s); Console.WriteLine(s); Console.ReadKey(); } private static string ReverStr(strin

字符串练习题(二):词语变形

对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算法,检查两给定串是否互为变形词. 给定两个字符串A和B及他们的长度,请返回一个bool值,代表他们是否互为变形词. 测试样例: "abc",3,"bca",3 返回:true public class Transform { public boolean chkTransform(String A, int lena, String B, int len

字符串练习题(三):句子的逆序

对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序. 给定一个原字符串A和他的长度,请返回逆序后的字符串. 测试样例: "dog loves pig",13 返回:"pig loves dog" public class Reverse { public String reverseSentence(String A, int n) { // write code here if(n==0|

字符串练习题(五):拼接最小字典序

对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的. 给定一个字符串数组strs,同时给定它的大小,请返回拼接成的串. 测试样例: ["abc","de"],2 "abcde" public class Prior { public String findSmallest(String[] strs, int n) { // write code here Arrays.sort(strs,

字符串练习题(六): 空格替换

请编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成. 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string. 测试样例: "Mr John Smith”,13 返回:"Mr%20John%20Smith" ”Hello World”,12 返回:”Hello%20%20World” public

PHP字符串练习题

题目要求:将一个字符串1234567890转换成1,234,567,890 解法一:将这两个字符串倒序来看即将0987654321转换成098,765,432,1,那么可以将0987654321分割成每个单元是三个长度字符串的数组array(098,765,432,1),然后将数组和逗号结合成字符串,然后反转即可得到最终结果 $str='1234567890'; function change($str) { $str1=strrev($str); //先将字符串反转 $arr=str_spli

Java字符串练习题

目录 1."a"+"b"+"c"+"d"+"e"+"f"+"g"+"h"改写上面的代码,打印结果 2.给定一个长度,随机产生一个该长度的字符串,由大写,小写字母以及数字组成 第一种: 第二种: 3.给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 4.给定一个由数字组成的字符串,如:"1239586838

字符串练习题(一): 拓扑结构相同子树

对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同. 给定两棵二叉树的头结点A和B,请返回一个bool值,代表A中是否存在一棵同构于B的子树. /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }*/ public class Identi