using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 字符串练习2
{
class Program
{
static void Main(string[] args)
{
//倒序输出字符串 如: "abc"
//string str = "abc";
//for (int i = str.Length - 1; i >= 0; i--)
//{
// Console.Write(str[i]);
//}
//倒序输出字符串 如: “I love you ”输出为“you love I ”
//string str = "I love you";
以空格分隔取出字符串数组
//string[] strs = str.Split(' ');
遍历字符串数组
//for (int i = strs.Length-1; i >=0; i--)
//{
// Console.Write(strs[i]);
//}
取出年 月 日 split使用
//string date = "2012年12月12日";
按照年 月 日进行分隔成数组
//string[] dates = date.Split(new char[] { '年', '月', '日' });
//foreach (string item in dates)
//{
// Console.WriteLine("{0}",item);
//}
//取出年 月 日 Substring IndexOf使用
//string date = "2012年12月12日";
//取出数字年
//string year = date.Substring(0, date.IndexOf("年"));
//Console.WriteLine(year);
//取出数字月
//string month = date.Substring(date.IndexOf("年") + 1, date.IndexOf("月") - date.IndexOf("年") - 1);
//Console.WriteLine(month);
//取出数字日
//string day = date.Substring(date.IndexOf("月") + 1, date.IndexOf("日") - date.IndexOf("月") - 1);
//Console.WriteLine(day);
//读取文本信息
//读取路径下面的文件的所有的行
//string[] lines = File.ReadAllLines(@"C:\Documents and Settings\Administrator\桌面\1.csv",Encoding.Default);
遍历输出
//foreach (string item in lines)
//{
// //将”替换为空
// string str = item.Replace("\""," ");
// //用,将字符串分割成数组
// string[] arr = str.Split(',');
// if (arr.Length == 3)
// {
// Console.WriteLine("姓名:{0},电话:{1}",(arr[0]+arr[1]),arr[2]);
// }
// //Console.WriteLine(item);
//}
//string str = "123-456---789----123-2";
//string[] strs = str.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
//str = string.Join("-",strs);
//Console.WriteLine(str);
//读取文本里面的信息,并肩将信息以一定格式输出
//读取路径下面的文本的所有的行
//string[] lines = File.ReadAllLines(@"C:\Documents and Settings\mlq\桌面\1.csv", Encoding.Default);
遍历输出
//foreach (string item in lines)
//{
// //将“”替换为空
// string str = item.Replace("\"", " ");
// //用 , 将字符串分割成字符串数组
// string[] arr = str.Split(new char[] { ',', ',' }, StringSplitOptions.RemoveEmptyEntries);
// //按照格式输出姓名和电话
// Console.WriteLine("姓名:{0},电话{1}", (arr[0] + arr[1]), arr[2]);
// //Console.WriteLine(item);
//}
123-456---789-----123-2,把类似字符串中重复的符号去掉,即得到123-456-789-123-2
//string str = "123-456---789-----123-2";
以-将字符串分割成字符串数组
//string[] strs = str.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries);
在用-将字符串连接起来
//str = string.Join("-", strs);
//Console.WriteLine(str);
从文件路径中提取文件名(包含后缀),比如:从c:/a/b.txt中,提取出b.txt这个文件名出来
//string path = "c:/a/b.txt";
用到IndexOf和Substring
//string name = path.Substring(path.LastIndexOf("/") + 1);
//Console.WriteLine(name);
从文件路径中提取文件名(不包含后缀),比如:从c:/a/b.txt中,提取出b这个文件名出来
//string path = "c:/a/b.txt";
找到最后一个/出现的位置和 . 出现的位置,截取的长度为点出现的位置减去最后一个/出现的位置再减1
//string name = path.Substring(path.LastIndexOf("/")+1,path.IndexOf(".")-path.LastIndexOf("/")-1);
//Console.WriteLine(name);
获取域名如:“123@gmail.com”
//string mail = "123@gmail.com";
找到@和.的位置,从@的后一位开始截取,截取的长度为.的位置减去@的位置再减1
//string name = mail.Substring(mail.IndexOf("@")+1,mail.IndexOf(".")-mail.IndexOf("@")-1);
//Console.WriteLine(name);
获取域名如:“123@gmail.com”
//string mail = "123@gmail.com";
截取字符串开始的位置
//int start = mail.IndexOf('@') + 1;
截取字符串结束的位置
//int end = mail.IndexOf(".");
截取字符串的长度
//int length = end - start;
截取字符串
//string name = mail.Substring(start,length);
输出截取的字符串
//Console.WriteLine(name);
//输出ip地址,端口号和服务:如192.168.1.123[port=21,type=ftp]或192.168.1.123[port=21]
string str = "192.168.1.123[port=21]";
//string str = "192.168.1.123[port=21,type=ftp]";
//ip
string ip = "";
//port
string port = "";
//type默认为http
string type = "http";
ip = str.Substring(0, str.IndexOf("["));
//Console.WriteLine(ip);
//有点协议不存在type,判断是否存在type,不存在,则默认为http,存在,则输出存在的数据
if (str.Contains("type"))
{
//port截取字符串开始的位置
int portStart = str.IndexOf('=') + 1;
//port截取字符串结束的位置
int portEnd = str.IndexOf(',');
//port截取字符串的长度
int portLength = portEnd - portStart;
//截取port的字符串
port = str.Substring(portStart, portLength);
//type截取字符串开始的位置
int typeStart = str.LastIndexOf('=') + 1;
//type截取字符串结束的位置
int typeEnd = str.IndexOf(']');
//type截取字符串的长度
int typeLength = typeEnd - typeStart;
//截取字符串
type = str.Substring(typeStart, typeLength);
}
else
{
//截取字符串开始位置
int start = str.IndexOf('=') + 1;
//截取字符串结束的位置
int end = str.IndexOf(']');
//截取字符串的长度
int length = end - start;
//截取的字符串
port = str.Substring(start, length);
}
Console.WriteLine("ip:{0},端口:{1},服务:{2}",ip,port,type);
Console.Read();
}
}
}