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;
}
}
}
}

最新文章

  1. Android中的自定义视图控件
  2. 开启 mysql 远程访问
  3. No Launcher activity found!
  4. 浅谈JavaScript中的this
  5. HTTP协议开发应用-HTTP&amp;XML协议栈开发
  6. Node.js 手册查询-5-Ejs 方法
  7. Cocos2d-x实例:单点触摸事件
  8. 自己编写的基于VC++6.0的串口调试软件,并贡献源程序!
  9. AppServ设置虚拟主机 及域名连接
  10. .NET Core 获取操作系统各种信息
  11. URLs ...
  12. 关于python的一些想法
  13. Linux 系统的安装 (最全收集)
  14. day 06 字符串和列表的方法
  15. [自学]Docker system 命令 查看docker镜像磁盘占用情况 Docker volume 相关
  16. LeetCode-Microsoft-Clone Graph
  17. [MAC OS] NSButton tag 获取
  18. Spring Boot实践——Spring Boot 2.0 新特性和发展方向
  19. [BZOJ4651][NOI2016]网格(Tarjan)
  20. GitHub Permission to &lt;&lt;repository&gt;&gt; denied to &lt;&lt;username&gt;&gt;

热门文章

  1. Python基础【day01】:表达式if ...else语句(三)
  2. 3、Python-字符串
  3. IDEA中阿里JAVA代码规范插件(P3C)的安装及使用
  4. minio上传大于30M文件失败
  5. 《Two Dozen Short Lessons in Haskell》所有习题的索引
  6. This page is about building Firefox Desktop
  7. MIPS指令学习二
  8. pyqt5的使用目录
  9. 第16月第15天 glut
  10. python - 用类写装饰器