步步为营-10-string的简单操作
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的简单操作的更多相关文章
- Spring_boot简单操作数据库
Spring_boot搭配Spring Data JPA简单操作数据库 spring boot 配置文件可以使用yml文件,默认spring boot 会加载resources目录的下的applica ...
- MongoDB数据库简单操作
之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...
- spark sql的简单操作
测试数据 sparkStu.text zhangxs chenxy wangYr teacher wangx teacher sparksql { ,"job":"che ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- redis简单操作
一.redis 基础操作 1.1.string 类型及操作 string 是最简单的类型,一个key对应一个value,string类型是二进制安全的.redis的string可以包含任何数据. 1. ...
- Java服务端对Cookie的简单操作
Java服务端对Cookie的简单操作 时间 2016-04-07 10:39:44 极客头条 原文 http://www.cuiyongzhi.com/index.php/post/15.html ...
- 四、C#简单操作MinIO
MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO He ...
- 函数,递归以及dom简单操作
函数 函数概述 函数就是具备某个功能的一个工具.是完成某个功能的一段代码. 系统提供了很多函数,但是并不能包含所有的功能,所以有些功能需要我们自己来写----自定义函数.函数定义好以后,就可以像系统函 ...
- C#中对string与string[]的初步操作
开篇之作,简单的对string与string[]进行初步操作,入门篇也,不多说,直接上代码. using System; using System.Collections.Generic; using ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
随机推荐
- linux配置java环境变量jdk jre(详细)【转】
linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...
- SQL语句(五)数据的修改
数据的修改 UPDATE 格式 UPDATE 表名 SET 字段名 = 字段值(这个可以是表达式) [WHERE 条件表达式] 关系运算符 (>.<.>=. <=.=.< ...
- Kruskal算法:最小生成树
//Kruskal算法按照边的权值从小到大查看一遍,如果不产生圈(重边等也算在内),就把当前这条表加入到生成树中. //如果判断是否产生圈.假设现在要把连接顶点u和顶点v的边e加入生成树中.如果加入之 ...
- Jmeter调用 Json接口测试之关键点申明Content-Type类型
背景: 最近,在做接口测试发现创建运单接口,通过普通表单请求总是失败,开始我以为是后端接口出现问题,但通过前端页面都能创建运单,F12打开浏览器开发者模式,获取该接口请求入参发现,请求的数据格式是js ...
- java元注解 @Retention注解使用
@Retention定义了该Annotation被保留的时间长短: 1.某些Annotation仅出现在源代码中,而被编译器丢弃: 2.另一些却被编译在class文件中,注解保留在class文件中,在 ...
- MyBatis下MySqL用户口令不能为空
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3308/testjdbc.username=testjdbc.pas ...
- UNIX环境高级编程--第一章 UNIX基础知识
第一章 UNIX基础知识 1.2 UNIX体系结构 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.我们将这种软件称为内核(kernel),因为 它相对较小,且 ...
- leetCode- 472. Concatenated Words
因为每个组合的字符串,至少要有3个index. 起点,中间拼接点,结点.所以可以将字符串分解为子字符串,判断子字符串是否存在.但是,后面字符串的存在必须要在前面字符串已经存在基础上判断. class ...
- Linux - 系统资源
查看剩余内存 free -m #-/+ buffers/cache: #6458M为真实使用内存 1649M为真实剩余内存(剩余内存+缓存+缓冲器) #linux会利用所有的剩余内存作为缓存,所以要保 ...
- Git合并一次commit到指定分支
1 在当前分支,查看要合并的分支版本号 git log 需要合并的commit版本号 16b7df3aa1e64e00554a8a3c871e59db8cd87b16 2 切换到 指定分支 git c ...