using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 字符串的简单练习
{
class Program
{
static void Main(string[] args)
{ } private static void Test9()
{
//数组的转置
string[] countrys = { "中", "德", "美", "法", "日" };
Rever(countrys);
foreach (var item in countrys)
{
Console.WriteLine(item);
}
Console.Read();
} private static void Test8()
{
//求员工工资文件中,员工的最高工资、最低工资、平均工资
string[] lines = File.ReadAllLines(@"C:\Users\home\Desktop\1.txt", Encoding.Default);//读取
double[] salays = new double[lines.Length];
//string[] a = new string[lines.Length];
for (int i = ; i < lines.Length; i++)
{
//此时 "zhangsan","12"
salays[i] = Convert.ToDouble(lines[i].Split(new char[] { ',', '\"' }, StringSplitOptions.RemoveEmptyEntries)[]); }
double sum = ;
double min = salays[];
double max = salays[];
for (int i = ; i < salays.Length; i++)
{
sum += salays[i]; if (max < salays[i])
{
max = salays[i];
}
if (min > salays[i])
{
min = salays[i];
}
}
Console.WriteLine("最高工资{0}最低工资{1}平均工资{2}", max, min, sum / salays.Length);
Console.Read();
} private static void Test7()
{
///“192.168.10.5[port=21,type=ftp]”,
///这个字符串表示IP地址为192.168.10.5的服务器的21端口提供的是ftp服务,
///其中如果“,type=ftp”部分被省略,则默认为http服务。
///请用程序解析此字符串,然后打印出“IP地址为***的服务器的***端口提供的服务为***”
///line.Contains(“type=”)。192.168.10.5[port=21]
string address = "192.168.10.5[port=21,type=ftp]";
//string address = "192.168.10.5[port=8080]";
//1获取IP地址
string ip = address.Substring(, address.IndexOf("["));
string port = address.Substring(address.IndexOf("=") + , address.IndexOf("]") - address.IndexOf("=") - );
string type = "http";
if (address.Contains("type"))
{
port = address.Substring(address.IndexOf("=") + , address.IndexOf(",") - address.IndexOf("=") - );
type = address.Substring(address.LastIndexOf("=") + , address.IndexOf("]") - address.LastIndexOf("=") - );
}
Console.WriteLine("IP地址为{0}的服务器的{1}端口提供的服务为{2}", ip, port, type);
Console.Read();
} private static void Test6()
{
///从文件路径中提取出文件名(包含后缀) 。
///比如从c:\aewqq\beqewq.txt中提取出b.txt这个文件名出来。
///以后还会学更简单的方式:“正则表达式”,
///项目中我们用微软提供的:Path.GetFileName();(更简单。)
string str = @"c:\aewqq\beqewq.txt";
int sindex = str.LastIndexOf("\\");
string result = str.Substring(sindex + );
Console.WriteLine(result);
Console.Read();
} private static void Test5()
{
///练习5:123-456---7---89-----123----2把类似的字符串中重复符号”-”去掉,
///既得到123-456-7-89-123-2.
///split()、StringSplitOptions.RemoveEmptyEntries Join()
string str = "123-456---7---89-----123----2";
string[] strs = str.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
string result = string.Join("-", strs);
Console.WriteLine(result);
Console.Read();
} private static void Test4()
{
///把csv文件中的联系人姓名和电话显示出来。
///姓名:张三 电话:15001111113
string[] lines = File.ReadAllLines(@"C:\Users\home\Desktop\1.txt", Encoding.Default);//读取
foreach (string item in lines)
{
//此时 "","","12"
string[] Tele = item.Split(new char[] { '"', ',' }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine("姓名:{0} 电话:{1}", Tele[] + Tele[], Tele[]);
}
Console.Read();
} private static void Test3()
{
//”2012年12月21日”从日期字符串中把年月日分别取出来,打印到控制台
string str = "2012年2月21日";
int yearIndex = str.IndexOf("年");
int moonIndex = str.IndexOf("月");
int dayIndex = str.IndexOf("日");
string year = str.Substring(, yearIndex);
string moon = str.Substring(yearIndex + , moonIndex - yearIndex - );
string day = str.Substring(moonIndex + , dayIndex - moonIndex - );
Console.WriteLine(year);
Console.WriteLine(moon);
Console.WriteLine(day);
Console.Read();
} private static void Test2()
{
//接收用户输入的一句英文,将其中的单词以反序输出。 “I love you"→“I evol uoy"
string str = "I love you";
//1字符串分割
string[] strs = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string item in strs)
{
Console.Write(Reversal(item));
Console.Write(" ");
}
Console.Read();
} private static void Test1()
{
///课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba“.
string abc = "abc";
char[] newStrs = Reversal(abc);
Console.WriteLine(newStrs);
Console.Read();
} //字符反转
private static char[] Reversal(string abc)
{
char[] strs = abc.ToCharArray();
char[] newStrs = new char[strs.Length];
for (int i = ; i < strs.Length; i++)
{
newStrs[i] = strs[strs.Length - i - ];
}
return newStrs;
}
//数组的反转
private static void Rever(string [] arry)
{
for (int i = ; i < arry.Length/; i++)
{
string temp = arry[i];
arry[i] = arry[arry.Length--i];
arry[arry.Length--i] = temp;
}
}
}
}

步步为营-10-string的简单操作的更多相关文章

  1. Spring_boot简单操作数据库

    Spring_boot搭配Spring Data JPA简单操作数据库 spring boot 配置文件可以使用yml文件,默认spring boot 会加载resources目录的下的applica ...

  2. MongoDB数据库简单操作

    之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...

  3. spark sql的简单操作

    测试数据 sparkStu.text zhangxs chenxy wangYr teacher wangx teacher sparksql { ,"job":"che ...

  4. 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

    进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...

  5. redis简单操作

    一.redis 基础操作 1.1.string 类型及操作 string 是最简单的类型,一个key对应一个value,string类型是二进制安全的.redis的string可以包含任何数据. 1. ...

  6. Java服务端对Cookie的简单操作

    Java服务端对Cookie的简单操作 时间 2016-04-07 10:39:44 极客头条 原文  http://www.cuiyongzhi.com/index.php/post/15.html ...

  7. 四、C#简单操作MinIO

    MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO He ...

  8. 函数,递归以及dom简单操作

    函数 函数概述 函数就是具备某个功能的一个工具.是完成某个功能的一段代码. 系统提供了很多函数,但是并不能包含所有的功能,所以有些功能需要我们自己来写----自定义函数.函数定义好以后,就可以像系统函 ...

  9. C#中对string与string[]的初步操作

    开篇之作,简单的对string与string[]进行初步操作,入门篇也,不多说,直接上代码. using System; using System.Collections.Generic; using ...

  10. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

随机推荐

  1. 面向对象【day07】:类的继承(七)

    本节内容 1.概述 2.类的继承 3.总结 4.练习 一.概述 之前我们说到了类的公有属性和类的私有属性,其实就是类的封装,下面我们来讲讲继承,是面向对象的第二大特性. 面向对象编程 (OOP) 语言 ...

  2. java查看本机hostName可代表的ip列表【转】

    java查看本机hostName可代表的ip列表 import java.net.InetAddress; public class ent { public static void main(Str ...

  3. WinForm ListView虚拟模式加载数据 提高加载速度

    将VirtualMode 属性设置为 true 会将 ListView 置于虚拟模式.控件不再使用Collection.Add()这种方式来添加数据,取而代之的是使用RetrieveVirtualIt ...

  4. 开源项目练习EF+jQueryUI前后端分离设计

    最近大家流行把项目开源,我也来玩玩.只是开源公司项目不好,小弟只好从公司项目经验上另外弄出一套练习开源给大家. 这个项目可以做简单的团队任务系统(做一些简单的任务分配,没经过严格测试.功能单一别喷啊, ...

  5. DIV仿textarea文本域,contenteditable如何只能输入纯文本

    对于支持HTML5浏览器有2种方法: 1. HTML5 <div contenteditable="plaintext-only"></div> 2.  C ...

  6. PyCharm的调试

    1.设置断点 2.debug模式运行    F8      下一行代码 查看当前位置所有局部变量:print(locals()) 查看全局变量:                      print( ...

  7. CSS进阶之模拟Bootstrap网格布局

    目前暂时实现效果,容后面整理心得,先贴上源代码. 源码 <!DOCTYPE html> <html> <head> <title>demo bootst ...

  8. 第18月第10天 iOS11 uicollectionview

    1. - (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementaryView:(UICollect ...

  9. AES加解密算法

    直接粘代码,该类是基于微信公众号消息加密解密所提供的PHP DEMO改造而来,目前使用于彬彬大学APP接口token校验中. php的mcrypt 扩展已经过时了大约10年,并且用起来很复杂.因此它被 ...

  10. 在css中控制图像的大小

    可在CSS中利用width属性和height属性控制一个图像得到大小,就像控制其他任何盒子的大小一样. <html> <head> <title>TODO supp ...