其他分享
首页 > 其他分享> > 字符串的方法练习

字符串的方法练习

作者:互联网

1)//练习:接收用户输入的字符串,将其中的字符以与之相反的顺序输出,“abc”转换成“cba”

            string str = "abcdefg";
            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;
            }
            string str1 =new string(chs);
            Console.WriteLine(str1);
            Console.ReadKey();
View Code

2)//把"hello c sharp"变成"sharp c hello":先用分割去掉空格变成字符串数组,然后倒叙,倒叙完之后再用空格分隔这三个数组

            string str = "hello c sharp";
            char[] chs = { ' ' };
            string[] str1 = str.Split(chs, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < str1.Length /2; i++)
            {
                string temp = str1[i];
                str1[i] = str1[str1.Length - 1 - i];
                str1[str1.Length - 1 - i] = temp;
            }
            string newStr = string.Join(" ",str1);
            Console.WriteLine(newStr);
            Console.ReadKey();
View Code

3)///文本文件中存储了多个文章标题、作者

///标题和作者之间用若干空格隔开,每行一个
///标题有的长有的短,输出到控制台的时候最多标题长度10
///如果超过10,则截取长度8的子串并且最后添加“……”,加一个竖线后输出作者名字

            string path = @"F:\程序学习\_字符串的各种方法的使用及练习\文章标题加作者.txt";
            string[] contents = File.ReadAllLines(path);
            for (int i = 0; i < contents .Length ; i++)
            {
                string[] strNew = contents[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                Console.WriteLine((strNew[0].Length > 10 ? strNew[0].Substring(0, 8) + "..." : strNew[0] )+ "|" + strNew[1]);
            }
View Code

4)//让用户输入一句话,找出所有e的位置

            string str = "assdeewrasfwewevegbwjwerjqwejkjkqwrhjkaskjejkhjk";
            int index = str.IndexOf('e');
            Console.WriteLine("第1次出现e的位置是{0}", index);
            //循环体,从上一次出现e的位置找下一位e出现的位置
            //循环条件:index!=-1
            int count = 1;//用来记录e出现的次数
            while(index!=-1)
            {
                count++;
                index = str.IndexOf('e', index + 1);
                if(index==-1)
                {
                    break;
                }
                Console.WriteLine("第{0}次出现e的位置是{1}", count, index);
                
            }
            Console.ReadKey();
View Code
            string str = "assdeewrasfwewevegbwjwerjqwejkjkqwrhjkaskjejkhjk";
            for (int i = 0; i < str.Length ; i++)
            {
                if(str[i]=='e')
                {
                    Console.WriteLine(i);
                }
            }
View Code

后面这个做法只适合这个题目,一旦出现包含不同类型的字符串,则不能使用了,还是上面的方法是正确的。这里特殊在这是char类型

5) //用户输入一句话,判断有没有邪恶,如果有,则替换成**

            string str = "老牛很邪恶";
            if(str.Contains ("邪恶"))
            {
                str = str.Replace("邪恶", "**");
            }
            Console.WriteLine(str);
View Code

6)//从email中提取出用户名和域名:abc@163.com

            string email = "abc@123.com";
            int index = email.IndexOf('@');
            string userName = email.Substring(0, index);
            string yuMing = email.Substring(index+1);
            Console.WriteLine(userName);
            Console.WriteLine(yuMing);
View Code

 

标签:index,Console,string,str1,练习,chs,str,字符串,方法
来源: https://www.cnblogs.com/May1184958246/p/14977988.html