字符串的处理练习:

课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"

方法1:

 string str = "abcdefg";
for (int i = str.Length - ; i >= ; i--)
{
//倒叙循环
Console.WriteLine(str[i]);
}
Console.ReadKey();

方法2:

     string str = "abcdefg";
char[] chs = str.ToCharArray();
for (int i = ; i < chs.Length / ; i++)
{
//数组反转
char temp = chs[i];
chs[i] = chs[chs.Length - - i];
chs[chs.Length - - i] = temp;
}
str = new string(chs);
Console.WriteLine(str);
Console.ReadKey();

课上练习2:接收用户输入的一句英文,将其中的单词以反序输出。"hello c sharp"→"sharp c hello"

 string str = "hello c sharp";
string[] strNew = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
for (int i = ; i < strNew.Length / ; i++)
{
string temp = strNew[i];
strNew[i] = strNew[strNew.Length - - i];
strNew[strNew.Length - - i] = temp;
}
//将字符串数组按照指定的分隔符连接,返回一个字符串
string s = string.Join(" ", strNew);
Console.WriteLine(s);
Console.ReadKey();

课上练习3:从Email中提取出用户名和域名:abc@163.com。

     string email = "abc@163.com";
int index = email.IndexOf('@');
string userName = email.Substring(,index);
string yuMing = email.Substring(index + );
Console.WriteLine(userName);
Console.WriteLine(yuMing);
Console.ReadKey();

课上练习4:文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。

 //文本存储路径为 C:\Users\Administrator\Desktop\操作文本.txt";
//文本内容为:
//平凡的世界 路遥
//坏蛋是怎样炼成的 六道
//遮天 辰东
//C#程序员必读的一些书籍 逗逼秀
string path = @"C:\Users\Administrator\Desktop\操作文本.txt";
string[] contents = File.ReadAllLines(path, Encoding.Default);
for (int i = ; i < contents.Length; i++)
{
string[] strNew = contents[i].Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine((strNew[].Length>?strNew[].Substring(,)+"......":strNew[])+"|"+strNew[]);
}
Console.ReadKey();

练习5:让用户输入一句话,找出所有e的位置

方法1:

             string str = "adjdslhgenleeklebeiugyveegjbeejkke";
for (int i = ; i < str.Length; i++)
{
if (str[i] == 'e')
{
Console.WriteLine(i);
}
}
Console.ReadKey();

方法2:

             string str = "adjdslhgenleeklebeiugyveegjbeejkke";
int index = str.IndexOf('e');
Console.WriteLine("第一次出现的位置是{0}", index);
//从上一次出现e的位置加1找下一次e出现的位置
//循环条件index!=-1
int count = ;
while (index != -)
{
count++;
index = str.IndexOf('e', index + );
if (index == -)
{
break;
}
Console.WriteLine("第{0}次出现的位置是{1}", count, index);
}
Console.ReadKey();

C#第六天的更多相关文章

  1. python之在线PK游戏(第六天)

      本节作业: 熟练使用类和模块,写一个交互性强.有冲突的程序. 故本次写了一个文字回合制的PK游戏,系统主程序为根目录下的:game_menu.py 1. 系统功能模块: 第六天的作业:文字游戏程序 ...

  2. 10天学会phpWeChat——第六天:实现新闻的后台管理

    通过前面五讲的系列教程,我们完成了一个简单模块的前端发布.列表展示.详情展示.实际生产环境中,所有前台的数据都会有对应的后台操作进行统筹管理.我们称之为后台管理系统. 今天,我们开始<10天学会 ...

  3. 十五天精通WCF——第六天 你必须要了解的3种通信模式

    wcf已经说到第六天了,居然还没有说到这玩意有几种通信模式,惭愧惭愧,不过很简单啦,单向,请求-响应,双工模式,其中的第二种“请求-响应“ 模式,这个大家不用动脑子都清楚,这一篇我大概来分析下. 一: ...

  4. 七、Android学习第六天——SQLite与文件下载(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQ ...

  5. <实训|第六天>偷偷让新手的Linux无限重启附linux主机名称不是随便乱改的!

    先说个事情:这几天我正在忙一个项目的设计,8月1号之前要弄出来,所以每天都要弄到很晚,可能更新就有点跟不上了,不过我如果有时间的话,我就更新,没时间的话,我会在8月1号之后统一更新出来,希望大家谅解! ...

  6. 安卓第六天笔记--ListView

    安卓第六天笔记--ListView 1.AdapteView AdapteView 继承ViewGroup它的本质是容器 AdapterView派生了3个子类: AbsListView AbsSpin ...

  7. IOS第六天(3:scrollView 图片轮播器)

    IOS第六天(3:scrollView 图片轮播器) #import "HMViewController.h" #define kImageCount 5 @interface H ...

  8. javaSE第六天

    第六天    28 1. 二维数组(理解)    28 (1)就是元素为一维数组的一个数组.    28 (2)格式:    28 (3)案例(掌握):    28 A:二维数组的遍历    28 B ...

  9. IT第六天 - eclipse快捷操作、万年历项目的编写、菱形的打印输出、代码简化

    IT第六天 上午 小项目 1.程序提前结束的退出标志 2.登录用户的模拟,给出适当的提示信息 3.根据要求,寻找规律,然后编写程序 Eclipse的使用 1.快捷键的使用 下午 中小项目 1.九九乘法 ...

  10. 十天学Linux内核之第六天---调度和内核同步

    原文:十天学Linux内核之第六天---调度和内核同步 心情大好,昨晚我们实验室老大和我们聊了好久,作为已经在实验室待了快两年的大三工科男来说,老师让我们不要成为那种技术狗,代码工,说多了都是泪啊,, ...

随机推荐

  1. phpDocumentor2安装配置和使用

    今天弄了下 phpDocumentor2生成项目文档,感觉效果还是不错的 不过因为已经安装过了,之前没有截图,现在没法办重新截图了,下次补上 官网地址 http://phpdoc.org 一.安装: ...

  2. POJ 3111 K Best

    二分,排序,贪心. 最优比率生成树,可以二分$+$贪心来实现,不过这样做精度不行. 如果是这样一个问题,该如何解决:问你$n$个里面选择$k$个,能否使得$\frac{{\sum\limits_{j ...

  3. IOS 基于TCP的socket通信详解(原创)

    最近在整理通信层相关知识,这篇文章是边整理边写的,有些地方可能不够准确,还请各位路过的大牛专家指出来.这次整理的socket通信是基于TCP的,实现方式是GCD形式,以下记录的都是些理论知识,方便自己 ...

  4. 使用eclipse XML catalog绑定dtd文件

    有时候我们想编辑struts或spring的xml配置文件的时候,输了“<”之后eclipse却没有提示关键字,这是因为eclipse需要到网络下载dtd文件而由于网络原因没下载下来所以无法提示 ...

  5. nfs 搭建

    nfs 搭建yum install nfs-utils rpcbind 修改配置文件 /etc/exports格式 每个共享的文件系统需要独立一行目录客户端主机列表需要使用空格隔开配置文件中支持通配符 ...

  6. mssql update from

    update b set memo = a.name from a,b where a.id = b.id --mssql的update :from语法 2 --a表 b表 结构分别 id ,name ...

  7. H264所采用的指数格伦布熵编码算法原理及应用

    1 指数格伦布熵编码算法原理 1.1 无符号整数k阶指数格伦布算法编码过程: 1) 将数字以二进制形式写出,去掉最低的k个比特位,之后加1 2) 计算留下的比特数,将此数减一,即是需要增加的前导零个数 ...

  8. 安装mysql的遇到的问题

    源:安装用的是mysql官网的binary包. 之前装mysql都是直接放到/usr/local,就想试试放到其他地方,然后..就悲剧了. 安装步骤没啥说的,官网上有.因为放置的位置不一样所以有些执行 ...

  9. jQuery(6)——jQuery对表单、表格的操作及更多应用

    jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...

  10. asp.net MVC中使用Autofac小结 (遇到的最傻错误: 没有为该对象定义无参数的构造函数)

    项目使用的MVC4,.net 4.5 Nuget安装最新的autofac,一直提示不支持.net 4.5.没办法了,最后用Nuget控制台安装的老版本.因为我使用的是MVC4,所以直接安装的是auto ...