字符串处理

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值